Get-WSManInstance

顯示由資源 URI 所指定之資源執行個體的管理資訊。

Syntax

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>]

Description

Cmdlet 會 Get-WSManInstance 擷取資源統一資源識別項所指定的管理資源實例, (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) 相關的關聯的執行個體 (associated instance)。

您必須將篩選條件括在引號內,如範例所示。

範例 8:取得與指定實例相關的關聯實例

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

此命令會取得與所指定執行個體 (winrm) 相關的關聯執行個體 (association instance)。 因為 Dialect 值是關聯的,而且使用 Associations 參數,所以此命令會傳回關聯實例,而不是相關聯的實例。

您必須將篩選條件括在引號內,如範例所示。

參數

-ApplicationName

指定連線中的應用程式名稱。 ApplicationName參數的預設值為 WSMAN。 遠端端點的完整識別碼使用下列格式:

<transport > :// < server > : < port > / < ApplicationName>

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

裝載工作階段的網際網路資訊服務 (IIS),會使用此端點轉送要求至指定的應用程式。 此預設設定 WSMAN 適用於大部分用途。 如果許多電腦與執行 PowerShell 的電腦建立遠端連線,這個參數的設計目的是要用到。 在此情況下,IIS 主機WS-Management以提高效率。

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Associations

表示這個 Cmdlet 會取得關聯實例,而不是相關聯的實例。 只有在 Dialect 參數具有 Association 值時,才能使用此參數。

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Authentication

指定用於伺服器的驗證機制。 此參數可接受的值為:

  • Basic - 基本是一種配置,其中使用者名稱和密碼會以純文字形式傳送至伺服器或 Proxy。
  • Default - 使用WS-Management通訊協定所實作的驗證方法。 此為預設值。
  • Digest - 摘要是一種挑戰回應配置,使用伺服器指定的資料字串來進行挑戰。
  • Kerberos - 用戶端電腦和伺服器會使用 Kerberos 憑證相互驗證。
  • Negotiate - 交涉是一種挑戰-回應配置,會與伺服器或 Proxy 交涉,以判斷要用於驗證的配置。 例如,此參數值允許交涉,以決定要使用 Kerberos 通訊協定或 NTLM。
  • CredSSP - 使用認證安全性支援提供者 (CredSSP) 驗證,讓使用者委派認證。 此選項是針對下列命令所設計:命令在遠端電腦上執行,但是收集來自其他遠端電腦上的資料,或是在其他遠端電腦上執行其他命令。

警告

CredSSP 會將使用者認證從本機電腦委派給遠端電腦。 此做法會使得遠端作業的安全性風險變高。 若遠端電腦遭到入侵,當認證被傳遞給它時,該認證便可用來控制網路工作階段。

Type:Microsoft.WSMan.Management.AuthenticationMechanism
Aliases:auth, am
Accepted values:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-BasePropertiesOnly

指出這個 Cmdlet 只會列舉屬於 ResourceURI 參數所指定基類的屬性。 如果指定 了「淺層 」參數,這個參數就沒有任何作用。

Type:SwitchParameter
Aliases:UBPO, Base
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

對於具有執行此動作之權限的使用者帳戶,指定其數位公開金鑰憑證 (X509)。 請輸入憑證的憑證指紋。

憑證將用於用戶端憑證式驗證。 這些憑證只能對應至本機使用者帳戶,無法用於網域帳戶。

若要取得憑證指紋,請使用 Get-Item PowerShell 憑證: 磁片磁碟機中的 或 Get-ChildItem 命令。

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

指定要執行管理作業的電腦。 值可以是完整網域名稱、NetBIOS 名稱或 IP 位址。 使用本機電腦名稱稱、使用 localhost,或使用點 () . 來指定本機電腦。 預設值是本機電腦。 當遠端電腦與使用者位於不同網域,您必須使用完整網域名稱。 您可以使用管線將此參數的值傳送至 Cmdlet。

Type:String
Aliases:CN
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionURI

指定連線端點。 這個字串的格式如下所示:

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

下列字串是此參數的正確格式值:

http://Server01:8080/WSMAN

此 URI 必須是完整的 URI。

Type:Uri
Aliases:CURI, CU
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Credential

指定具有執行此動作權限的使用者帳戶。 預設為目前使用者。 輸入使用者名稱,例如 User01、Domain01\User01 或 User@Domain.com 。 或者,輸入 PSCredential 物件,例如 Cmdlet 所傳回的物件 Get-Credential 。 當您輸入使用者名稱時,此 Cmdlet 會提示您輸入密碼。

Type:PSCredential
Aliases:cred, c
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters: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
Type:Uri
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Enumerate

表示此 Cmdlet 會傳回管理資源的所有實例。

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Filter

指定列舉的篩選運算式。 如果您指定此參數,您也必須指定 Dialect

此參數的有效值取決於 方言中指定的方言。 例如,如果 Dialect 是 WQL, Filter 參數必須包含字串,而且字串必須包含有效的 WQL 查詢,例如下列查詢:

"Select * from Win32_Service where State != Running"

如果 Dialect 為 Association, Filter 必須包含字串,而字串必須包含有效的篩選準則,例如下列篩選準則:

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

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Fragment

指定要針對所指定操作在執行個體中更新或抓取的區段。 例如,若要取得多工緩衝處理服務的狀態,請指定下列專案:

-Fragment Status

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-OptionSet

對服務指定一組切換參數,以修改或精簡要求的本質。 這些切換參數類似於命令列殼層中使用的切換參數,因為都是服務特定的切換參數。 您可以指定任意數目的選項。

下列範例示範的語法可傳遞 a、b 與 c 參數的值 1、2 與 3:

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

Type:Hashtable
Aliases:OS
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Port

指定用戶端連線 WinRM 服務時所使用的連接埠。 傳輸為 HTTP 時,預設連接埠為 80。 傳輸為 HTTPS 時,預設連接埠為 443。

當您使用 HTTPS 作為傳輸時, ComputerName 參數的值必須符合伺服器的憑證一般名稱 (CN) 。 不過,如果 SkipCNCheck 參數指定為 SessionOption 參數的一部分,則伺服器憑證一般名稱不必符合伺服器主機名稱。 SkipCNCheck 參數只能用於信任的電腦。

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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

Type:Uri
Aliases:RURI
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-ReturnType

指定要傳回的資料類型。 此參數可接受的值為:

  • Object
  • EPR
  • ObjectAndEPR

預設值是 Object

如果您指定 Object 或未指定此參數,這個 Cmdlet 只會傳回 物件。 如果您指定端點參考 (EPR) 此 Cmdlet 只會傳回物件的端點參考。 端點參照包含資源 URI 與執行個體之選取器的相關資訊。 如果您指定 ObjectAndEPR ,這個 Cmdlet 會同時傳回 物件及其相關聯的端點參考。

Type:String
Aliases:RT
Accepted values:object, epr, objectandepr
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-SelectorSet

指定一組值組,用來選取特定管理資源執行個體。 當有多個資源實例存在時,就會使用 SelectorSet 參數。 SelectorSet參數的值必須是雜湊表。

下列範例顯示如何輸入此參數的值:

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

Type:Hashtable
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-SessionOption

指定 WS-Management 工作階段的擴充選項。 輸入您使用 New-WSManSessionOption Cmdlet 建立的 SessionOption 物件。 如需可用選項的詳細資訊,請輸入 Get-Help New-WSManSessionOption

Type:Microsoft.WSMan.Management.SessionOption
Aliases:SO
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Shallow

指出這個 Cmdlet 只會傳回資源 URI 中指定的基類實例。 如果您未指定此參數,這個 Cmdlet 會傳回 URI 和其所有衍生類別中指定的基類實例。

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

指定使用安全通訊端層 (SSL) 通訊協定來建立遠端電腦連線。 預設不會使用 SSL。

WS-Management 會加密透過網路傳輸的所有 Windows PowerShell 內容。 UseSSL參數可讓您指定 HTTPS 的額外保護,而不是 HTTP。 若用於連線的連接埠上無法使用 SSL,且您指定此參數,則命令會失敗。

Type:SwitchParameter
Aliases:SSL
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

輸入

None

此命令不接受任何輸入。

輸出

XmlElement

此 Cmdlet 會產生 XMLElement 物件。