Test-WSMan

测试 WinRM 服务是在本地还是远程计算机上运行。

语法

Test-WSMan
    [[-ComputerName] <String>]
    [-Authentication <AuthenticationMechanism>]
    [-Port <Int32>]
    [-UseSSL]
    [-ApplicationName <String>]
    [-Credential <PSCredential>]
    [-CertificateThumbprint <String>]
    [<CommonParameters>]

说明

此 cmdlet 仅在 Windows 平台上可用。

Test-WSMan cmdlet 提交标识请求,该请求确定 WinRM 服务是在本地还是远程计算机上运行。 如果测试的计算机正在运行该服务,则 cmdlet 会显示 WS-Management 标识架构、协议版本、产品供应商和测试服务的产品版本。

示例

示例 1:确定 WinRM 服务的状态

Test-WSMan

此命令确定 WinRM 服务是在本地计算机上还是在远程计算机上运行。

示例 2:确定远程计算机上的 WinRM 服务的状态

Test-WSMan -ComputerName "server01"

此命令确定 WinRM 服务是否在 server01 计算机上运行。

示例 3:确定 WinRM 服务和作系统版本的状态

Test-WSMan -Authentication default

此命令测试是否使用身份验证参数在本地计算机上运行 WS-Management (WinRM) 服务。

使用身份验证参数,Test-WSMan 可以返回作系统版本。

示例 4:确定远程计算机上的 WinRM 服务和 OS 版本的状态

Test-WSMan -ComputerName "server01" -Authentication default

此命令测试是否使用身份验证参数在名为 server01 的计算机上运行 WS-Management (WinRM) 服务。

使用身份验证参数,Test-WSMan 可以返回作系统版本。

参数

-ApplicationName

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

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

例如:http://server01:8080/WSMAN

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Authentication

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

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

谨慎

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

重要

如果未指定 身份验证 参数,Test-WSMan 请求将匿名发送到远程计算机,而不使用身份验证。 如果以匿名方式发出请求,则不会返回特定于作系统版本的信息。 相反,此 cmdlet 显示作系统版本和 Service Pack 级别的 null 值(OS: 0.0.0 SP: 0.0)。

类型:AuthenticationMechanism
别名:auth, am
接受的值:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-CertificateThumbprint

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

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

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ComputerName

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

类型:String
别名:cn
Position:0
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Credential

指定有权执行此作的用户帐户。 默认值为当前用户。 键入用户名,例如 User01、Domain01\User01 或 User@Domain.com。 或者,输入 PSCredential 对象,例如 Get-Credential cmdlet 返回的对象。 键入用户名时,此 cmdlet 会提示输入密码。

类型:PSCredential
别名:cred, c
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Port

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

使用 HTTPS 作为传输时,ComputerName 参数的值必须与服务器的证书公用名(CN)匹配。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UseSSL

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

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

None

不能通过管道将对象传递给此 cmdlet。

输出

XmlElement

此 cmdlet 返回表示测试结果的 XmlElement 对象。

备注

默认情况下,Test-WSMan cmdlet 在不使用身份验证的情况下查询 WinRM 服务,并且不会返回特定于作系统版本的信息。 相反,它显示作系统版本和 Service Pack 级别的 null 值(OS:0.0.0 SP: 0.0)。