Get-WSManInstance

显示资源 URI 指定的资源实例的管理信息。

语法

Get-WSManInstance
   [-ApplicationName <String>]
   [-ComputerName <String>]
   [-ConnectionURI <Uri>]
   [-Dialect <Uri>]
   [-Fragment <String>]
   [-OptionSet <Hashtable>]
   [-Port <Int32>]
   [-ResourceURI] <Uri>
   [-SelectorSet <Hashtable>]
   [-SessionOption <SessionOption>]
   [-UseSSL]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [<CommonParameters>]
Get-WSManInstance
   [-ApplicationName <String>]
   [-BasePropertiesOnly]
   [-ComputerName <String>]
   [-ConnectionURI <Uri>]
   [-Dialect <Uri>]
   [-Enumerate]
   [-Filter <String>]
   [-OptionSet <Hashtable>]
   [-Port <Int32>]
   [-Associations]
   [-ResourceURI] <Uri>
   [-ReturnType <String>]
   [-SessionOption <SessionOption>]
   [-Shallow]
   [-UseSSL]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [<CommonParameters>]

说明

Get-WSManInstance cmdlet 检索由资源统一资源标识符(URI)指定的管理资源的实例。 检索的信息可以是复杂的 XML 信息集,即对象或简单值。 此 cmdlet 等效于标准 Web Services for Management(WS-Management)Get 命令。

此 cmdlet 使用 WS-Management 连接/传输层来检索信息。

示例

示例 1:从 WMI 获取所有信息

Get-WSManInstance -ResourceURI wmicimv2/win32_service -SelectorSet @{name="winrm"} -ComputerName "Server01"

此命令返回 Windows Management Instrumentation (WMI) 公开的有关远程 server01 计算机上的 WinRM 服务的所有信息。

示例 2:获取后台处理程序服务的状态

Get-WSManInstance -ResourceURI wmicimv2/win32_service -SelectorSet @{name="spooler"} -Fragment Status -ComputerName "Server01"

此命令仅返回远程 server01 计算机上的 后台处理程序 服务的状态。

示例 3:获取所有服务的终结点引用

Get-WSManInstance -Enumerate -ResourceURI wmicimv2/win32_service -ReturnType EPR

此命令返回对应于本地计算机上所有服务的终结点引用。

示例 4:获取满足指定条件的服务

Get-WSManInstance -Enumerate -ResourceURI wmicimv2/* -Filter "select * from win32_service where StartMode = 'Auto' and State = 'Stopped'" -ComputerName "Server01"

此命令列出了远程 Server01 计算机上满足以下条件的所有服务:

  • 服务的启动类型为 Automatic。
  • 服务已停止。

示例 5:获取符合本地计算机上的条件的侦听器配置

Get-WSManInstance -ResourceURI winrm/config/listener -SelectorSet @{Address="*";Transport="http"}

此命令列出与选择器集中条件匹配的侦听器本地计算机上的 WS-Management 侦听器配置。

示例 6:获取与远程计算机上的条件匹配的侦听器配置

Get-WSManInstance -ResourceURI winrm/config/listener -SelectorSet @{Address="*";Transport="http"} -ComputerName "Server01"

此命令列出了远程 server01 计算机上的 WS-Management 侦听器配置,该侦听器与选择器集中的条件匹配。

示例 7:获取与指定实例相关的关联实例

Get-WSManInstance -Enumerate -Dialect Association -Filter "{Object=win32_service?name=winrm}" -ResourceURI wmicimv2/*

此命令获取与指定实例(winrm)相关的关联实例。

必须将筛选器括在引号中,如示例中所示。

示例 8:获取与指定实例相关的关联实例

Get-WSManInstance -Enumerate -Dialect Association -Associations -Filter "{Object=win32_service?name=winrm}" -ResourceURI wmicimv2/*

此命令获取与指定实例(winrm)相关的关联实例。 由于 方言 值是关联的,并且使用了 关联 参数,因此此命令返回关联实例,而不是关联的实例。

必须将筛选器括在引号中,如示例中所示。

参数

-ApplicationName

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

<传输>://<服务器>:<端口>/<ApplicationName>

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

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

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

-Associations

指示此 cmdlet 获取关联实例,而不是关联的实例。 仅当 方言 参数具有关联值时,才能使用此参数。

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

-Authentication

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

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

谨慎

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

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

-BasePropertiesOnly

指示此 cmdlet 仅枚举由 ResourceURI 参数指定的基类的一部分的属性。 如果指定了 Shallow 参数,则此参数无效。

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

-CertificateThumbprint

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

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

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

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

-ComputerName

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

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

-ConnectionURI

指定连接终结点。 此字符串的格式如下所示:

<传输>://<服务器>:<端口>/<ApplicationName>

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

http://Server01:8080/WSMAN

URI 必须完全限定。

类型:Uri
别名:CURI, CU
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Credential

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

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

-Dialect

指定要在筛选器谓词中使用的方言。 这可以是远程服务支持的任何方言。 以下别名可用于方言 URI:

  • WQL - http://schemas.microsoft.com/wbem/wsman/1/WQL
  • 选择器 - http://schemas.microsoft.com/wbem/wsman/1/wsman/SelectorFilter
  • 关联 - http://schemas.dmtf.org/wbem/wsman/1/cimbinding/associationFilter
类型:Uri
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Enumerate

指示此 cmdlet 返回管理资源的所有实例。

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

-Filter

指定枚举的筛选器表达式。 如果指定此参数,还必须指定 方言

此参数的有效值取决于 方言中指定的方言。 例如,如果 方言 为 WQL,则 Filter 参数必须包含字符串,并且字符串必须包含有效的 WQL 查询,如以下查询:

"Select * from Win32_Service where State != Running"

如果 方言 为关联,筛选器 必须包含字符串,并且字符串必须包含有效的筛选器,如以下筛选器:

-filter:Object=EPR\[;AssociationClassName=AssocClassName\]\[;ResultClassName=ClassName\]\[;Role=RefPropertyName\]\[;ResultRole=RefPropertyName\]}

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

-Fragment

指定要为指定作更新或检索的实例内的节。 例如,若要获取后台处理程序服务的状态,请指定以下内容:

-Fragment Status

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

-OptionSet

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

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

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

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

-Port

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

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

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

-ResourceURI

指定资源类或实例的 URI。 URI 标识计算机上的特定类型资源,例如磁盘或进程。

URI 由前缀和资源的路径组成。 例如:

http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor

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

-ReturnType

指定要返回的数据的类型。 此参数的可接受值为:

  • Object
  • EPR
  • ObjectAndEPR

默认值为 Object

如果指定 Object 或未指定此参数,则此 cmdlet 仅返回对象。 如果指定终结点引用 (EPR),则此 cmdlet 仅返回对象的终结点引用。 终结点引用包含有关实例的资源 URI 和选择器的信息。 如果指定 ObjectAndEPR,此 cmdlet 将同时返回对象及其关联的终结点引用。

类型:String
别名:RT
接受的值:object, epr, objectandepr
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SelectorSet

指定一组值对,用于选择特定的管理资源实例。 当资源有多个实例存在时,将使用 SelectorSet 参数。 SelectorSet 参数的值必须是哈希表。

以下示例演示如何输入此参数的值:

-SelectorSet @{Name="WinRM";ID="yyy"}

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

-SessionOption

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

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

-Shallow

指示此 cmdlet 仅返回在资源 URI 中指定的基类的实例。 如果未指定此参数,此 cmdlet 将返回 URI 及其所有派生类中指定的基类的实例。

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

-UseSSL

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

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

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

输入

None

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

输出

XmlElement

此 cmdlet 返回 XMLElement 对象。