连接到远程计算机上的 WinRM 服务。
语法
Connect-WSMan [-ApplicationName <string>] [-ComputerName <string>] [-Port <int>] [-UseSSL] [-Authentication <Authentication>] [-ComputerName <string>] [-Credential <PSCredential>] [-Port <int>] [-SessionOption <hashtable>] [<CommonParameters>] Connect-WSMan [-ConnectionURI <Uri>] [-Authentication <Authentication>] [-ComputerName <string>] [-Credential <PSCredential>] [-Port <int>] [-SessionOption <hashtable>] [<CommonParameters>]
说明
Connect-WSMan cmdlet 用于连接到远程计算机上的 WinRM 服务,并建立与远程计算机的持续性连接。您可以在 WS-Management 提供程序的上下文中使用此 cmdlet 连接到远程计算机上的 WinRM 服务。但是,也可以在更改到 WS-Management 提供程序之前,使用此 cmdlet 连接到远程计算机上的 WinRM 服务。远程计算机将出现在 WS-Management 提供程序的根目录中。
有关如何断开与远程计算机上的 WinRM 服务的连接的详细信息,请参阅 Disconnect-WSMan。
参数
-ApplicationName <string>
指定连接中的应用程序名称。ApplicationName 参数的默认值为“WSMAN”。远程终结点的完整标识符采用以下格式:
<transport>://<server>:<port>/<ApplicationName>
例如:
http://server01:8080/WSMAN
承载会话的 Internet 信息服务 (IIS) 将请求连同此终结点转发到指定的应用程序。默认设置“WSMAN”适用于大多数使用情况。当有许多计算机建立了与运行 Windows PowerShell 的一台计算机的远程连接时,需要用到此参数。这种情况下,IIS 托管 Web Services for Management (WS-Management),以保证效率。
是否为必需? |
false |
位置? |
named |
默认值 |
wsman |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Authentication <Authentication>
指定服务器上要使用的身份验证机制。可能值为:
- Basic:Basic 是一种方案,在该方案中,用户名和密码以明文形式发送到服务器或代理。
- Default:使用 WS-Management 协议实现的身份验证方法。这是默认设置。
- Digest:Digest 是一种质询响应方案,该方案将服务器指定的数据字符串用于质询。
- Kerberos:客户端计算机和服务器使用 Kerberos 证书相互进行身份验证。
- Negotiate:Negotiate 是一种质询响应方案,该方案与服务器或代理协商以确定要使用的身份验证方案。例如,此参数值允许进行协商以确定是使用 Kerberos 协议还是 NTLM。
- CredSSP:使用凭据安全服务提供程序 (CredSSP) 身份验证,这种方法允许用户委派凭据。此选项用于这样的命令:在一台远程计算机上运行,但从其他远程计算机上收集数据或者在其他远程计算机上运行其他命令。
注意:CredSSP 将本地计算机中的用户凭据委派给远程计算机。此操作增加了远程操作的安全风险。如果远程计算机的安全受到威胁,则在向该计算机传递凭据时,可使用这些凭据来控制网络会话。
是否为必需? |
false |
位置? |
named |
默认值 |
Default |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-ComputerName <string>
指定要对其运行管理操作的计算机。值可以是完全限定的域名、NetBIOS 名称或 IP 地址。使用本地计算机名称、localhost 或点 (.)指定本地计算机。默认值为本地计算机。当远程计算机与用户位于不同的域时,必须使用完全限定的域名。可以通过管道将此参数的值传递给 cmdlet。
是否为必需? |
false |
位置? |
named |
默认值 |
localhost |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-ConnectionURI <Uri>
指定连接终结点。此字符串的格式为:
<Transport>://<Server>:<Port>/<ApplicationName>。
以下字符串是此参数的格式正确的值:
http://Server01:8080/WSMAN。URI 必须完全限定。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Credential <PSCredential>
指定有权执行此操作的用户帐户。默认值为当前用户。键入用户名,例如“User01”、“Domain01\User01”或“User@Domain.com”。或者,输入 PSCredential 对象,例如由 Get-Credential cmdlet 返回的对象。键入用户名时,将会提示您键入密码。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-OptionSet <hashtable>
将一组开关传递到服务以修改或调整请求的性质。这些与命令行 shell 中使用的开关的类似之处在于,它们也是特定于服务的。可以指定任意多个选项。
以下示例演示分别为 a、b 和 c 参数传递值 1、2 和 3 的语法:
-OptionSet @{a=1;b=2;c=3}
是否为必需? |
|
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Port <int>
指定要在客户端连接到 WinRM 服务时使用的端口。如果传输方式为 HTTP,则默认端口为 80。如果传输方式为 HTTPS,则默认端口为 443。使用 HTTPS 作为传输方式时,ComputerName 参数的值必须与服务器的证书公用名 (CN) 匹配。但是,如果 SkipCNCheck 参数指定为 SessionOption 参数的一部分,则服务器的证书公用名不必与服务器的主机名称相匹配。SkipCNCheck 参数应仅用于受信任的计算机。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-SessionOption <hashtable>
为 WS-Management 会话定义一组扩展选项。输入使用 New-WSManSessionOption cmdlet 创建的 SessionOption 对象。有关可用选项的详细信息,请参阅 New-WSManSessionOption。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-UseSSL
指定应使用安全套接字层 (SSL) 协议来建立与远程计算机的连接。默认情况下,不使用 SSL。
WS-Management 加密通过网络传输的所有 Windows PowerShell 内容。利用 UseSSL 参数,可以指定 HTTPS(而非 HTTP)的额外保护措施。如果在连接端口上 SSL 不可用并且指定了此参数,则命令将失败。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
None 此 cmdlet 不接受任何输入。 |
输出 |
None 此 cmdlet 将不产生任何输出。 |
说明
您无需创建 WS-Management 会话便可以在远程计算机上运行管理命令或查询管理数据。通过使用 Invoke-WSManAction 和 Get-WSManInstance 的 ComputerName 参数,可以实现此这一点。使用 ComputerName 参数时,Windows PowerShell 会创建一个用于单个命令的临时连接。在命令运行完后,该连接即会关闭。
示例 1
C:\PS>Connect-WSMan -computer server01 PS C:\Users\testuser> cd wsman: PS WSMan:\> PS WSMan:\> dir WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan ComputerName Type ------------ ---- localhost Container server01 Container 说明 ----------- 此命令创建一个与远程计算机 server01 的连接。 通常在 WS-Management 提供程序的上下文中使用 Connect-WSMan cmdlet 连接到远程计算机(在本例中为计算机 server01)。但是,您可以在更改到 WS-Management 提供程序之前,使用该 cmdlet 建立与远程计算机的连接。这些连接将出现在 ComputerName 列表中。
示例 2
C:\PS>$cred = Get-Credential Administrator Connect-WSMan -computer server01 -credential $cred PS C:\Users\testuser> cd wsman: PS WSMan:\> PS WSMan:\> dir WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan ComputerName Type ------------ ---- localhost Container server01 Container 说明 ----------- 此命令使用管理员帐户凭据创建一个与远程系统 server01 的连接。 第一条命令使用 Get-Credential cmdlet 来获取管理员凭据,然后将其保存在 $cred 变量中。Get-Credential cmdlet 将提示用户输入密码或者提示用户名和密码均需要输入。用户会在对话框 或命令行中收到提示,具体取决于系统注册表设置。 第二条命令使用 Credential 参数将存储在 $cred 中的凭据传递给 Connect-WSMan。然后,Connect-WSMan 使用管理员凭据连接到远程系统 server01。 通常在 WS-Management 提供程序的上下文中使用 Connect-WSMan cmdlet 连接到远程计算机(在本例中为 server01)。但是,可以在更改到 WS-Management 提供程序之前使用该 cmdlet 建立与远程计算机的连接,并且这些连接将显示在 ComputerName 列表中。
示例 3
C:\PS>Connect-WSMan -computer server01 -port 80 PS C:\Users\testuser> cd wsman: PS WSMan:\> PS WSMan:\> dir WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan ComputerName Type ------------ ---- localhost Container server01 Container 说明 ----------- 此命令创建一个与远程计算机 server01 的连接,该连接使用端口 80。 通常在 WS-Management 提供程序的上下文中使用 Connect-WSMan cmdlet 连接到远程计算机(在本例中为计算机 server01)。但是,您可以在更改到 WS-Management 提供程序之前,使用该 cmdlet 建立与远程计算机的连接。这些连接将出现在 ComputerName 列表中。
示例 4
C:\PS>$a = New-WSManSessionOption -operationtimeout 30000 Connect-WSMan -computer server01 -sessionoption $a PS C:\Users\testuser> cd wsman: PS WSMan:\> PS WSMan:\> dir WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan ComputerName Type ------------ ---- localhost Container server01 Container 说明 ----------- 此命令使用在 New-WSManSessionOption 命令中定义的连接选项,创建与远程计算机 server01 的连接。 第一条命令使用 New-WSManSessionOption cmdlet 将一组连接设置选项存储在 $a 变量中。在本例中,这些会话选项将连接超时设置为 30 秒(30,000 毫秒)。 第二条命令使用 SessionOption 参数将存储在 $a 变量中的凭据传递给 Connect-WSMan。然后,Connect-WSMan 使用指定的会话选项连接到远程计算机 server01。 通常在 WS-Management 提供程序的上下文中使用 Connect-WSMan cmdlet 连接到远程计算机(在本例中为计算机 server01)。但是,您可以在更改到 WS-Management 提供程序之前,使用该 cmdlet 建立与远程计算机的连接。这些连接将出现在 ComputerName 列表中。
另请参阅