当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 输入 PSSession (Microsoft.PowerShell.Core)

作者:精品下载站 日期:2024-12-14 02:16:27 浏览:14 分类:玩电脑

输入 PSSession (Microsoft.PowerShell.Core)


输入-PSSession

模块 :Microsoft.PowerShell.Core

启动与远程计算机的交互式会话。

句法

Enter-PSSession
     [-ComputerName] <String>
     [-EnableNetworkAccess]
     [[-Credential] <PSCredential>]
     [-ConfigurationName <String>]
     [-Port <Int32>]
     [-UseSSL]
     [-ApplicationName <String>]
     [-SessionOption <PSSessionOption>]
     [-Authentication <AuthenticationMechanism>]
     [-CertificateThumbprint <String>]
     [<CommonParameters>]
Enter-PSSession
     [-HostName] <String>
     [-Options <Hashtable>]
     [-Port <Int32>]
     [-UserName <String>]
     [-KeyFilePath <String>]
     [-Subsystem <String>]
     [-ConnectingTimeout <Int32>]
     [-SSHTransport]
     [<CommonParameters>]
Enter-PSSession
     [[-Session] <PSSession>]
     [<CommonParameters>]
Enter-PSSession
     [[-ConnectionUri] <Uri>]
     [-EnableNetworkAccess]
     [[-Credential] <PSCredential>]
     [-ConfigurationName <String>]
     [-AllowRedirection]
     [-SessionOption <PSSessionOption>]
     [-Authentication <AuthenticationMechanism>]
     [-CertificateThumbprint <String>]
     [<CommonParameters>]
Enter-PSSession
     [-InstanceId <Guid>]
     [<CommonParameters>]
Enter-PSSession
     [[-Id] <Int32>]
     [<CommonParameters>]
Enter-PSSession
     [-Name <String>]
     [<CommonParameters>]
Enter-PSSession
     [-VMId] <Guid>
     [-Credential] <PSCredential>
     [-ConfigurationName <String>]
     [<CommonParameters>]
Enter-PSSession
     [-VMName] <String>
     [-Credential] <PSCredential>
     [-ConfigurationName <String>]
     [<CommonParameters>]
Enter-PSSession
     [-ContainerId] <String>
     [-ConfigurationName <String>]
     [-RunAsAdministrator]
     [<CommonParameters>]

描述

Enter-PSSession cmdlet 启动与单个远程计算机的交互式会话。在会话期间,您键入的命令将在远程计算机上运行,就像您直接在远程计算机上键入一样。您一次只能进行一个交互式会话。

通常,您使用ComputerName参数来指定远程计算机的名称。不过,您也可以将通过使用 New-PSSession cmdlet 创建的会话用于交互式会话。但是,您无法使用 Disconnect-PSSessionConnect-PSSessionReceive-PSSession cmdlet 断开连接或重新连接互动会议。

从 PowerShell 6.0 开始,您可以使用 Secure Shell (SSH) 建立与远程计算机的连接。您必须在本地计算机上具有 SSH,并且远程计算机必须配置有 PowerShell SSH 端点。基于 SSH 的 PowerShell 远程会话的好处是它可以跨多个平台(Windows、Linux、macOS)工作。对于基于 SSH 的远程处理,您可以使用 HostName 参数集来指定远程计算机和相关连接信息。有关如何设置 PowerShell SSH 远程处理的详细信息,请参阅通过 SSH 的 PowerShell 远程处理。

要结束交互式会话并断开与远程计算机的连接,请使用 Exit-PSSession cmdlet,或键入 exit

这很重要

Enter-PSSession 旨在用新的交互式远程会话替换当前的交互式会话。您不应从函数或脚本中调用它,也不应将其作为命令传递给 pwsh 可执行文件。

示例

示例 1:启动交互式会话

PS> Enter-PSSession
[localhost]: PS>

此命令在本地计算机上启动交互式会话。命令提示符发生更改,表明您现在正在不同的会话中运行命令。

您输入的命令在新会话中运行,结果将以文本形式返回到默认会话。

示例 2:使用交互式会话

第一个命令使用 Enter-PSSession cmdlet 启动与远程计算机 Server01 的交互式会话。会话启动时,命令提示符将更改为包含计算机名称。

第二个命令获取 PowerShell 进程并将输出重定向到 Process.txt 文件。命令被提交到远程计算机,并且文件被保存在远程计算机上。

第三个命令使用 Exit 关键字结束交互式会话并关闭连接。第四个命令确认 Process.txt 文件位于远程计算机上。本地计算机上的 Get-ChildItem ("dir") 命令找不到该文件。

PS C:\> Enter-PSSession -ComputerName Server01
[Server01]: PS C:\>
[Server01]: PS C:\> Get-Process PowerShell > C:\ps-test\Process.txt
[Server01]: PS C:\> exit
PS C:\>
PS C:\> dir C:\ps-test\Process.txt
Get-ChildItem : Cannot find path 'C:\ps-test\Process.txt' because it does not exist.
At line:1 char:4
+ dir <<<<  c:\ps-test\Process.txt

此命令显示如何与远程计算机进行交互式会话。

示例 3:使用 Session 参数

PS> $s = New-PSSession -ComputerName Server01
PS> Enter-PSSession -Session $s
[Server01]: PS>

这些命令使用 Enter-PSSessionSession 参数在现有 PowerShell 会话 (PSSession) 中运行交互式会话。

示例 4:启动交互式会话并指定端口和凭据参数

PS> Enter-PSSession -ComputerName Server01 -Port 90 -Credential Domain01\User01
[Server01]: PS>

此命令启动与 Server01 计算机的交互式会话。它使用Port参数指定端口,使用Credential参数指定有权连接到远程计算机的用户的帐户。

示例 5:停止交互式会话

PS> Enter-PSSession -ComputerName Server01
[Server01]: PS> Exit-PSSession
PS>

此示例显示如何启动和停止交互式会话。第一个命令使用 Enter-PSSession cmdlet 启动与 Server01 计算机的交互式会话。

第二个命令使用 Exit-PSSession cmdlet 结束会话。您还可以使用退出关键字来结束交互式会话。 Exit-PSSessionExit 具有相同的效果。

示例 6:使用 SSH 启动交互式会话

PS> Enter-PSSession -HostName UserA@LinuxServer01

此示例演示如何使用 Secure Shell (SSH) 启动交互式会话。如果远程计算机上的 SSH 配置为使用密码,则系统会提示您输入密码。否则,您必须使用基于密钥的用户身份验证。

示例 7:使用 SSH 以及端口和用户身份验证密钥启动交互式会话

PS> Enter-PSSession -HostName UserA@LinuxServer02:22 -KeyFilePath c:\sshkeys\userAKey_rsa

此示例显示如何使用 SSH 启动交互式会话。用户名和 SSH 端口号被指定为 HostName 参数值的一部分。 KeyFilePath 参数指定用于对远程计算机上的用户进行身份验证的 RSA 密钥的位置。

示例 8:使用 SSH 选项启动交互式会话

$options = @{
    Port=22
    User = 'UserA'
    Host = 'LinuxServer02'
}
Enter-PSSession -KeyFilePath c:\sshkeys\userAKey_rsa -Options $options

此示例显示如何使用 SSH 启动交互式会话。 Options 参数采用一个值的哈希表,这些值作为选项传递给建立与远程系统的连接的基础 ssh 命令。

参数

-AllowRedirection

允许将此连接重定向到备用统一资源标识符 (URI)。默认情况下,不允许重定向。

当您使用 ConnectionURI 参数时,远程目标可以返回重定向到不同 URI 的指令。默认情况下,PowerShell 不会重定向连接,但您可以使用此参数来允许它重定向连接。

您还可以通过更改 MaximumConnectionRedirectionCount 会话选项值来限制连接重定向的次数。使用 New-PSSessionOption cmdlet 的 MaximumRedirection 参数或设置 $PSSessionOption 首选项变量的 MaximumConnectionRedirectionCount 属性。默认值为 5。

类型 :

SwitchParameter

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-ApplicationName

指定连接 URI 的应用程序名称段。当您未在命令中使用 ConnectionURI 参数时,请使用此参数指定应用程序名称。

默认值是本地计算机上的 $PSSessionApplicationName 首选项变量的值。如果未定义此首选项变量,则默认值为 WSMAN。该值适合大多数用途。有关详细信息,请参阅 about_Preference_Variables。

WinRM 服务使用应用程序名称来选择侦听器来服务连接请求。此参数的值应与远程计算机上侦听器的 URLPrefix 属性的值匹配。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-Authentication

指定用于验证用户凭据的机制。该参数可接受的值为:

  • 默认
  • 基本的
  • 信用证
  • 消化
  • 克伯罗斯
  • 谈判
  • 使用隐式凭证进行协商

默认值为默认。

CredSSP 身份验证仅在 Windows Vista、Windows Server 2008 和更高版本的 Windows 操作系统中可用。

有关此参数值的更多信息,请参阅 AuthenticationMechanism Enum。

警告

凭据安全支持提供程序 (CredSSP) 身份验证将用户的凭据传递到远程计算机进行身份验证,专为需要对多个资源进行身份验证的命令(例如访问远程网络共享)而设计。这种机制增加了远程操作的安全风险。如果远程计算机受到威胁,则传递给它的凭据可用于控制网络会话。

类型 :

AuthenticationMechanism

接受的值:

默认、基本、协商、NegotiateWithImplicitCredential、Credssp、摘要、Kerberos

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-CertificateThumbprint

指定有权执行此操作的用户帐户的数字公钥证书 (X509)。输入证书的证书指纹。

证书用于基于客户端证书的身份验证。它们只能映射到本地用户帐户;它们不适用于域帐户。

要获取证书,请使用 PowerShell Cert: 驱动器中的 Get-ItemGet-ChildItem 命令。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-ComputerName

指定计算机名称。此 cmdlet 启动与指定远程计算机的交互式会话。仅输入一台计算机名称。默认为本地计算机。

键入计算机的 NetBIOS 名称、IP 地址或完全限定域名。您还可以通过管道将计算机名称传递给 Enter-PSSession

要在 ComputerName 参数的值中使用 IP 地址,该命令必须包含 Credential 参数。此外,计算机必须配置为 HTTPS 传输,或者远程计算机的 IP 地址必须包含在本地计算机上的 WinRM TrustedHosts 列表中。有关将计算机名称添加到 TrustedHosts 列表的说明,请参阅 about_Remote_Troubleshooting 中的“如何将计算机添加到受信任主机列表”。

笔记

在 Windows 操作系统上,要将本地计算机包含在 ComputerName 参数的值中,您必须使用“以管理员身份运行”选项启动 PowerShell。

类型 :

String

别名:

Cn

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-ConfigurationName

指定用于交互式会话的会话配置。

输入会话配置的配置名称或完全限定的资源 URI。如果仅指定配置名称,则会在前面添加以下架构 URI:http://schemas.microsoft.com/powershell

与 SSH 一起使用时,这指定要在 sshd_config 中定义的目标上使用的子系统。 SSH 的默认值是 powershell 子系统。

会话的会话配置位于远程计算机上。如果远程计算机上不存在指定的会话配置,该命令将失败。

默认值是本地计算机上的 $PSSessionConfigurationName 首选项变量的值。如果未设置此首选项变量,则默认值为 Microsoft.PowerShell。有关详细信息,请参阅 about_Preference_Variables。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-ConnectingTimeout

指定完成初始 SSH 连接所允许的时间(以毫秒为单位)。如果连接未在指定时间内完成,则会返回错误。

该参数是在PowerShell 7.2中引入的

类型 :

整数32

位置:

命名

默认值:

无限

必需的:

False

接受管道输入:

False

接受通配符:

False

-ConnectionUri

指定定义会话连接端点的 URI。 URI 必须是完全限定的。该字符串的格式如下:

<Transport>://<ComputerName>:<Port>/<ApplicationName>

默认值如下:

http://localhost:5985/WSMAN

如果您未指定ConnectionURI,则可以使用UseSSL计算机名称端口 >ApplicationName 参数来指定 ConnectionURI 值。

URI 传输段的有效值为 HTTP 和 HTTPS。如果指定带有传输段的连接 URI,但未指定端口,则将使用标准端口创建会话:HTTP 为 80,HTTPS 为 443。要使用 PowerShell 远程处理的默认端口,请为 HTTP 指定端口 5985,为 HTTPS 指定端口 5986。

如果目标计算机将连接重定向到其他 URI,PowerShell 将阻止重定向,除非您在命令中使用 AllowRedirection 参数。

类型 :

乌里

别名:

URI, CU

位置:

1

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-ContainerId

指定容器的ID。

类型 :

String

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-Credential

指定有权执行此操作的用户帐户。默认为当前用户。

输入用户名,例如 User01Domain01\User01,或输入由 Get-Credential cmdlet。如果您键入用户名,系统会提示您输入密码。

凭证存储在 PSCredential 对象中,密码存储为 SecureString。

笔记

有关 SecureString 数据保护的更多信息,请参阅 SecureString 的安全性如何?。

类型 :

PS凭证

位置:

1

默认值:

当前用户

必需的:

False

接受管道输入:

True

接受通配符:

False

-EnableNetworkAccess

指示此 cmdlet 将交互式安全令牌添加到环回会话。交互式令牌允许您在环回会话中运行命令以从其他计算机获取数据。例如,您可以在会话中运行命令,将 XML 文件从远程计算机复制到本地计算机。

环回会话是在同一台计算机上发起和结束的 PSSession。要创建环回会话,请省略 ComputerName 参数或将其值设置为 。 (点)、localhost 或本地计算机的名称。

默认情况下,环回会话是使用网络令牌创建的,该令牌可能无法提供足够的权限来对远程计算机进行身份验证。

EnableNetworkAccess 参数仅在环回会话中有效。如果您在远程计算机上创建会话时使用EnableNetworkAccess,则该命令会成功,但该参数将被忽略。

您还可以使用 Authentication 参数的 CredSSP 值在环回会话中允许远程访问,该参数将会话凭据委托给其他计算机。

此参数是在 Windows PowerShell 3.0 中引入的。

类型 :

SwitchParameter

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-HostName

指定基于安全外壳 (SSH) 的连接的计算机名称。这与 ComputerName 参数类似,只不过与远程计算机的连接是使用 SSH 而不是 Windows WinRM 进行的。此参数支持使用 user@hostname:port 形式将用户名和/或端口指定为主机名参数值的一部分。作为主机名一部分指定的用户名和/或端口优先于 -UserName-Port 参数(如果指定)。这允许将多个计算机名称传递给此参数,其中一些计算机名称具有特定的用户名和/或端口,而其他计算机名称则使用 -UserName-Port 中的用户名和/或端口> 参数。

此参数是在 PowerShell 6.0 中引入的。

类型 :

String

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-Id

指定现有会话的 ID。 Enter-PSSession 使用指定的会话进行交互会话。

要查找会话的 ID,请使用 Get-PSSession cmdlet。

类型 :

整数32

位置:

0

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-InstanceId

指定现有会话的实例 ID。 Enter-PSSession 使用指定的会话进行交互会话。

实例 ID 是 GUID。要查找会话的实例 ID,请使用 Get-PSSession cmdlet。您还可以使用会话名称ID参数来指定现有会话。或者,您可以使用ComputerName参数来启动临时会话。

类型 :

指导

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-KeyFilePath

指定安全外壳 (SSH) 用于对远程计算机上的用户进行身份验证的密钥文件路径。

SSH 允许通过私钥/公钥执行用户身份验证,作为基本密码身份验证的替代方案。如果远程计算机配置为密钥身份验证,则此参数可用于提供标识用户的密钥。

此参数是在 PowerShell 6.0 中引入的。

类型 :

String

别名:

IdentityFilePath

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Name

指定现有会话的友好名称。 Enter-PSSession 使用指定的会话进行交互会话。

如果您指定的名称与多个会话匹配,则该命令将失败。您还可以使用SessionInstanceIDID 参数来指定现有会话。或者,您可以使用ComputerName参数来启动临时会话。

要为会话建立友好名称,请使用 New-PSSession cmdlet 的 Name 参数。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-Options

指定连接到基于 SSH 的远程会话时使用的 SSH 选项的哈希表。可能的选项是基于 Unix 版本的 ssh 命令支持的任何值。

由参数显式传递的任何值都优先于 Options 哈希表中传递的值。例如,使用 Port 参数会覆盖 Options 哈希表中传递的任何 Port 键值对。

类型 :

哈希表

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Port

指定远程计算机上用于此命令的网络端口。

在 PowerShell 6.0 中,此参数包含在支持 Secure Shell (SSH) 连接的 HostName 参数集中。

WinRM(计算机名参数集)

要连接到远程计算机,远程计算机必须侦听连接使用的端口。默认端口为 5985(用于 HTTP 的 WinRM 端口)和 5986(用于 HTTPS 的 WinRM 端口)。

在使用备用端口之前,必须将远程计算机上的 WinRM 侦听器配置为侦听该端口。使用以下命令配置监听器:

    winrm delete winrm/config/listener?Address=*+Transport=HTTP
    winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}

除非必须,否则不要使用端口参数。命令中的端口设置适用于运行该命令的所有计算机或会话。备用端口设置可能会阻止该命令在所有计算机上运行。

SSH(主机名参数集)

要连接到远程计算机,远程计算机必须配置 SSH 服务 (SSHD),并且必须侦听连接使用的端口。 SSH 的默认端口是 22。

类型 :

整数32

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-RunAsAdministrator

指示 PSSession 以管理员身份运行。

类型 :

SwitchParameter

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Session

指定用于交互式会话的 PowerShell 会话 (PSSession)。该参数采用会话对象。您还可以使用NameInstanceIDID参数来指定PSSession

输入包含会话对象的变量或创建或获取会话对象的命令,例如 New-PSSessionGet-PSSession 命令。您还可以通过管道将会话对象传递给 Enter-PSSession。使用此参数只能提交一个 PSSession。如果您输入的变量包含多个 PSSession,该命令将失败。

当您使用 Exit-PSSessionEXIT 关键字时,交互式会话将结束,但您创建的 PSSession 仍保持打开状态并可供使用。

类型 :

PS会话

位置:

0

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-SessionOption

设置会话的高级选项。输入 SessionOption 对象,例如使用 New-PSSessionOption cmdlet 创建的对象,或者一个哈希表,其中键是会话选项名称,值是会话选项值。

选项的默认值由 $PSSessionOption 首选项变量(如果已设置)的值确定。否则,默认值由会话配置中设置的选项建立。

会话选项值优先于 $PSSessionOption 首选项变量和会话配置中设置的会话默认值。但是,它们并不优先于会话配置中设置的最大值、配额或限制。

有关会话选项(包括默认值)的说明,请参阅New-PSSessionOption。有关 $PSSessionOption 首选项变量的信息,请参阅 about_Preference_Variables。有关会话配置的更多信息,请参阅 about_Session_Configurations。

类型 :

PS会话选项

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-SSHTransport

表示使用 Secure Shell (SSH) 建立远程连接。

默认情况下,PowerShell 使用 Windows WinRM 连接到远程计算机。此开关强制 PowerShell 使用 HostName 参数集来建立基于 SSH 的远程连接。

此参数是在 PowerShell 6.0 中引入的。

类型 :

SwitchParameter

接受的值:

真的

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Subsystem

指定用于新 PSSession 的 SSH 子系统。

这指定了在 sshd_config 中定义的目标上使用的子系统。该子系统使用预定义的参数启动特定版本的 PowerShell。如果远程计算机上不存在指定的子系统,该命令将失败。

如果未使用此参数,则默认为 powershell 子系统。

类型 :

String

位置:

命名

默认值:

电源外壳

必需的:

False

接受管道输入:

True

接受通配符:

False

-UserName

指定用于在远程计算机上创建会话的帐户的用户名。用户身份验证方法取决于远程计算机上安全外壳 (SSH) 的配置方式。

如果 SSH 配置为基本密码身份验证,则系统会提示您输入用户密码。

如果 SSH 配置为基于密钥的用户身份验证,则不会提示您输入密码。您必须提供 SSH 密钥文件的路径。如果用户密钥文件位于 SSH 已知位置,则不需要 KeyFilePath 参数。用户身份验证根据用户名自动进行。有关更多信息,请参阅有关基于密钥的用户身份验证的 SSH 文档。

如果未指定 UserName 参数,则使用当前登录的用户名。

此参数是在 PowerShell 6.0 中引入的。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-UseSSL

指示此 cmdlet 使用安全套接字层 (SSL) 协议建立与远程计算机的连接。默认情况下,不使用 SSL。

WS-Management 对通过网络传输的所有 PowerShell 内容进行加密。 UseSSL 参数是一种附加保护,可通过 HTTPS 连接而不是 HTTP 连接发送数据。

如果您使用此参数,但 SSL 在用于该命令的端口上不可用,则该命令将失败。

类型 :

SwitchParameter

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-VMId

指定虚拟机的ID。

类型 :

指导

别名:

VMGuid

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-VMName

指定虚拟机的名称。

类型 :

String

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

输入

字符串

您可以通过管道将计算机名称作为字符串传递给此 cmdlet。

PS会话

您可以通过管道将会话对象传递给此 cmdlet。

输出

此 cmdlet 不返回任何输出。

笔记

PowerShell 包含以下 Enter-PSSession 别名:

  • 所有平台:

      etsn

    要连接到远程计算机,您必须是远程计算机上管理员组的成员。要在本地计算机上启动交互式会话,您必须使用以管理员身份运行选项启动 PowerShell。

    当您使用 Enter-PSSession 时,您在远程计算机上的用户配置文件将用于交互式会话。远程用户配置文件中的命令(包括添加 PowerShell 模块和更改命令提示符的命令)在显示远程提示符之前运行。

    Enter-PSSession 使用本地计算机上的 UI 区域性设置进行交互式会话。要查找本地 UI 区域性,请使用 $UICulture 自动变量。

    Enter-PSSession 需要 Get-CommandOut-DefaultExit-PSSession cmdlet。如果这些 cmdlet 未包含在远程计算机上的会话配置中,Enter-PSSession 命令将失败。

    与 Invoke-Command 在将命令发送到远程计算机之前对其进行解析和解释的方式不同,Enter-PSSession 将命令直接发送到远程计算机而不进行解释。

    如果您要进入的会话正忙于处理命令,则 PowerShell 响应 Enter-PSSession 命令之前可能会出现延迟。一旦会话可用,您就会立即连接。要取消 Enter-PSSession 命令,请按 CTRL+C。

    从 PowerShell 6.0 开始包含 HostName 参数集。添加它是为了提供基于 Secure Shell (SSH) 的 PowerShell 远程处理。多个平台(Windows、Linux、macOS)均支持 SSH 和 PowerShell,并且 PowerShell 远程处理可在安装和配置 PowerShell 和 SSH 的这些平台上运行。这与之前基于 WinRM 的仅 Windows 远程处理不同,并且许多 WinRM 特定功能和限制不适用。例如,当前不支持基于 WinRM 的配额、会话选项、自定义端点配置和断开/重新连接功能。有关如何设置 PowerShell SSH 远程处理的详细信息,请参阅通过 SSH 的 PowerShell 远程处理。

    在 PowerShell 7.1 之前,通过 SSH 进行远程处理不支持第二跳远程会话。此功能仅限于使用 WinRM 的会话。 PowerShell 7.1 允许 Enter-PSSessionEnter-PSHostProcess 在任何交互式远程会话中工作。

    ssh 可执行文件按以下顺序从以下源获取配置数据:

    1. 命令行选项
    2. 用户的配置文件(~/.ssh/config)
    3. 系统范围的配置文件(/etc/ssh/ssh_config)

    以下 cmdlet 参数映射到 ssh 参数和选项:

    Cmdlet parameter ssh parameter equivalent ssh -o option -KeyFilePath -i <KeyFilePath> -o IdentityFile=<KeyFilePath> -UserName -l <UserName> -o User=<UserName> -Port -p <Port> -o Port=<Port> -ComputerName -Subsystem -s <ComputerName> <Subsystem> -o Host=<ComputerName>

    由参数显式传递的任何值都优先于 Options 哈希表中传递的值。有关 ssh_config 文件的更多信息,请参阅 ssh_config(5)。

    您需要 登录账户 后才能发表评论

    取消回复欢迎 发表评论:

    关灯