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

[玩转系统] 连接 WSMan (Microsoft.WSMan.Management)

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

连接 WSMan (Microsoft.WSMan.Management)


连接-WSMan

模块 :Microsoft.WSMan.Management

连接到远程计算机上的 WinRM 服务。

句法

Connect-WSMan
       [-ApplicationName <String>]
       [[-ComputerName] <String>]
       [-OptionSet <Hashtable>]
       [-Port <Int32>]
       [-SessionOption <SessionOption>]
       [-UseSSL]
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [<CommonParameters>]
Connect-WSMan
       [-ConnectionURI <Uri>]
       [-OptionSet <Hashtable>]
       [-Port <Int32>]
       [-SessionOption <SessionOption>]
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [<CommonParameters>]

描述

此 cmdlet 仅适用于 Windows 平台。

Connect-WSMan cmdlet 连接到远程计算机上的 WinRM 服务,并与远程计算机建立持久连接。您可以在 WSMan 提供程序上下文中使用此 cmdlet 连接到远程计算机上的 WinRM 服务。但是,在更改为 WSMan 提供程序之前,您还可以使用此 cmdlet 连接到远程计算机上的 WinRM 服务。远程计算机出现在 WSMan 提供程序的根目录中。

当客户端和服务器计算机位于不同的域或工作组时,需要显式凭据。

有关如何从远程计算机上的 WinRM 服务断开连接的信息,请参阅 Disconnect-WSMan cmdlet。

示例

示例 1:连接到远程计算机

PS C:\> Connect-WSMan -ComputerName "server01"
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan

ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

此命令创建与远程 server01 计算机的连接。

Connect-WSMan cmdlet 通常在 WSMan 提供程序的上下文中使用,以连接到远程计算机(在本例中为 server01 计算机)。但是,您可以在更改为 WSMan 提供程序之前使用 cmdlet 建立与远程计算机的连接。这些连接显示在计算机名列表中。

示例 2:使用管理员凭据连接到远程计算机

PS C:\> $cred = Get-Credential Administrator
PS C:\> Connect-WSMan -ComputerName "server01" -Credential $cred
PS C:\> 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 会通过对话框或命令行提示您输入用户名和密码,具体取决于系统注册表设置。

第二个命令使用 Credential 参数将 $cred 中存储的凭据传递给 Connect-WSMan。然后,Connect-WSMan 使用管理员凭据连接到远程系统 server01。

示例3:通过指定端口连接到远程计算机

PS C:\> Connect-WSMan -ComputerName "server01" -Port 80
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

此命令通过端口 80 创建到远程 server01 计算机的连接。

示例 4:使用连接选项连接到远程计算机

PS C:\> $a = New-WSManSessionOption -OperationTimeout 30000
PS C:\> Connect-WSMan -ComputerName "server01" -SessionOption $a
PS C:\> cd wsman:
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

此示例使用 New-WSManSessionOption 命令中定义的连接选项创建与远程 server01 计算机的连接。

第一个命令使用 New-WSManSessionOption$a 变量中存储一组连接设置选项。在本例中,会话选项将连接时间设置为 30 秒(30,000 毫秒)。

第二个命令使用 SessionOption 参数将存储在 $a 变量中的凭据传递给 Connect-WSMan。然后,Connect-WSMan 使用指定的会话选项连接到远程 server01 计算机。

参数

-ApplicationName

指定连接中的应用程序名称。 ApplicationName 参数的默认值为 WSMAN。远程端点的完整标识符采用以下格式:

<Transport>://<Server>:<Port>/<ApplicationName>

例如:

http://server01:8080/WSMAN

托管会话的 Internet 信息服务 (IIS) 将此终结点的请求转发到指定的应用程序。 WSMAN 的此默认设置适合大多数用途。如果许多计算机与运行 Windows PowerShell 的一台计算机建立远程连接,则可以使用此参数。在这种情况下,IIS 托管 Web 管理服务 (WS-Management) 以提高效率。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Authentication

指定要在服务器上使用的身份验证机制。该参数可接受的值为:

  • Basic-Basic 是一种将用户名和密码以明文形式发送到服务器或代理的方案。
  • 默认 - 使用 WS-Management 协议实现的身份验证方法。这是默认设置。
  • Digest - 摘要是一种质询-响应方案,它使用服务器指定的数据字符串进行质询。
  • Kerberos - 客户端计算机和服务器使用 Kerberos 证书进行相互身份验证。
  • 协商 - 协商是一种质询-响应方案,它与服务器或代理协商以确定用于身份验证的方案。例如,此参数值允许协商以确定是使用 Kerberos 协议还是 NTLM。
  • CredSSP - 使用凭据安全支持提供程序 (CredSSP) 身份验证,允许用户委托凭据。此选项专为在一台远程计算机上运行但从其他远程计算机收集数据或在其他远程计算机上运行其他命令的命令而设计。

警告

CredSSP 将用户凭据从本地计算机委托给远程计算机。这种做法增加了远程操作的安全风险。如果远程计算机受到威胁,当凭据传递给它时,该凭据可用于控制网络会话。

类型 :

AuthenticationMechanism

别名:

auth, am

接受的值:

无、默认、摘要、协商、基本、Kerberos、ClientCertificate、Credssp

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-CertificateThumbprint

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

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

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

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-ComputerName

指定要对其运行管理操作的计算机。该值可以是完全限定的域名、NetBIOS 名称或 IP 地址。使用本地计算机名称、使用 localhost 或使用点 (.) 指定本地计算机。默认为本地计算机。当远程计算机与用户位于不同的域时,必须使用完全限定的域名。您可以将此参数的值通过管道传递给 cmdlet。

类型 :

String

别名:

cn

位置:

0

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-ConnectionURI

指定连接端点。该字符串的格式如下:

<Transport>://<Server>:<Port>/<ApplicationName>

以下字符串是此参数的正确格式值:

http://Server01:8080/WSMAN

URI 必须是完全限定的。

类型 :

乌里

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Credential

指定有权执行此操作的用户帐户。默认为当前用户。输入用户名,例如 User01Domain01\User01[email protected]。或者,输入 PSCredential 对象,例如 Get-Credential cmdlet 返回的对象。当您键入用户名时,此 cmdlet 会提示您输入密码。

类型 :

PS凭证

别名:

cred, c

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-OptionSet

指定服务的一组开关以修改或细化请求的性质。这些类似于命令行 shell 中使用的开关,因为它们是特定于服务的。可以指定任意数量的选项。

以下示例演示了为 a、b 和 c 参数传递值 1、2 和 3 的语法:

-OptionSet @{a=1;b=2;c=3}
类型 :

哈希表

别名:

os

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Port

指定客户端连接到 WinRM 服务时要使用的端口。当传输方式为 HTTP 时,默认端口为 80。当传输方式为 HTTPS 时,默认端口为 443。

当您使用 HTTPS 作为传输时,ComputerName 参数的值必须与服务器的证书公用名 (CN) 匹配。但是,如果将 SkipCNCheck 参数指定为 SessionOption 参数的一部分,则服务器的证书公用名不必与服务器的主机名匹配。 SkipCNCheck 参数应仅用于受信任的计算机。

类型 :

整数32

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-SessionOption

指定 WS-Management 会话的扩展选项。输入使用 New-WSManSessionOption cmdlet 创建的 SessionOption 对象。有关可用选项的详细信息,请输入 Get-Help New-WSManSessionOption

类型 :

SessionOption

别名:

so

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-UseSSL

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

WS-Management 对通过网络传输的所有 Windows PowerShell 内容进行加密。 UseSSL 参数允许您指定 HTTPS 而不是 HTTP 的附加保护。如果 SSL 在用于连接的端口上不可用,并且您指定了此参数,则该命令将失败。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

您无法通过管道将对象传递到此 cmdlet。

输出

此 cmdlet 不返回任何输出。

笔记

您可以在远程计算机上运行管理命令或查询管理数据,而无需创建 WS-Management 会话。您可以使用 Invoke-WSManActionGet-WSManInstanceComputerName 参数来执行此操作。当您使用 ComputerName 参数时,Windows PowerShell 会创建用于单个命令的临时连接。命令运行后,连接将关闭。

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

取消回复欢迎 发表评论:

关灯