about_WSMan_Provider

提供者名稱

WSMan

磁碟機

WSMan:

簡短描述

提供存取適用於管理的 Web 服務 (WS-Management) 設定資訊。

詳細描述

此資訊僅適用于在 Windows 上執行的 PowerShell。

適用于 PowerShell 的 WSMan 提供者可讓您在本機或遠端電腦上新增、變更、清除和刪除WS-Management組態資料。

WSMan提供者會公開 PowerShell 磁片磁碟機,其中包含對應至WS-Management組態設定之邏輯群組的目錄結構。 這些群組稱為容器。

從 Windows PowerShell 3.0 開始,WSMan提供者已更新以支援會話組態的新屬性,例如OutputBufferingMode。 會話組態會顯示為磁片磁碟機外掛程式目錄中 WSMan: 的專案,而屬性會顯示為每個會話組態中的專案。

WSMan提供者支援本文涵蓋的下列 Cmdlet。

注意

您可以使用磁片磁碟機中的 WSMan: 命令來變更新屬性的值。 不過,您無法使用 WSMan: PowerShell 2.0 中的磁片磁碟機來變更 Windows PowerShell 3.0 中引進的屬性。 雖然不會產生任何錯誤,但命令無效:若要變更這些設定,請使用 Windows PowerShell 3.0 中的WSMan磁片磁碟機。

WSMan 的組織:磁片磁碟機

  • 用戶端:您可以設定WS-Management用戶端的各種層面。 設定資訊是儲存在登錄中。

  • 服務:您可以設定WS-Management服務的各個層面。 設定資訊是儲存在登錄中。

    注意

    服務設定有時稱為「伺服器設定」。

  • 殼層:您可以設定WS-Management殼層的各種層面,例如允許遠端殼層存取的設定, (AllowRemoteShellAccess) ,以及 (MaxConcurrentUsers) 允許的並行使用者數目上限。

  • 接聽程式:您可以建立及設定接聽程式。 接聽程式是一種管理服務,可實作 WS-Management 通訊協定來傳送及接收訊息。

  • 外掛程式:外掛程式是由WS-Management服務載入並使用,以提供各種功能。 根據預設,PowerShell 提供三個外掛程式:

    • 事件轉送外掛程式。
    • Microsoft.PowerShell 外掛程式。
    • Windows Management Instrumentation (WMI) Provider 外掛程式。 這三個外掛程式支援事件轉送、組態和 WMI 存取。
  • ClientCertificate:您可以建立及設定用戶端憑證。 將 WS-Management 用戶端設定為使用憑證驗證時,會使用用戶端憑證。

WSMan 提供者的目錄階層

本機電腦的 WSMan 提供者目錄階層如下。

WSMan:\localhost
--- Client
--- Service
--- Shell
--- Listener
------ <Specific_Listener>
--- Plugin
------ Event Forwarding Plugin
--------- InitializationParameters
--------- Resources
------------ Security
------ Microsoft.Powershell
--------- InitializationParameters
--------- Resources
------------ Security
------ WMI Provider
--------- InitializationParameters
--------- Resources
------------ Security
--- ClientCertificate

遠端電腦的 WSMan 提供者目錄階層和本機電腦的目錄階層相同。 不過,若要存取遠端電腦的組態設定,您需要使用 Connect-WSMan 連線到遠端電腦。 一旦連線到遠端電腦之後,遠端電腦的名稱就會顯示於提供者中。

WSMan:\<Remote_Computer_Name>

此命令會 Set-Location 使用 Cmdlet 將目前的位置變更為 WSMan: 磁片磁碟機。

Set-Location WSMan:

若要返回檔案系統磁碟機,請輸入磁碟機名稱。 例如,輸入 。

Set-Location C:

此命令會使用 命令, Set-Location 將目前位置變更為遠端系統存放區位置中的根位置。 使用反斜線或正斜線 \/ 來表示磁片磁碟機的 WSMan: 層級。

Set-Location -Path  WSMan:\SERVER01

注意

上述命令假設遠端系統的連線已經存在。

顯示 WSMan: 磁片磁碟機的內容

此命令會 Get-Childitem 使用 Cmdlet,在 Localhost 存放區位置顯示WS-Management存放區。

Get-ChildItem -path WSMan:\Localhost

如果您位於磁片磁碟機中 WSMan: ,您可以省略磁片磁碟機名稱。

此命令會 Get-Childitem 使用 Cmdlet,在遠端電腦 「SERVER01」 存放區位置中顯示WS-Management存放區。

Get-ChildItem -path WSMan:\SERVER01

注意

上述命令假設遠端系統的連線已經存在。

設定 WSMAN: 磁片磁碟機中的專案值

您可以使用 Set-Item Cmdlet 來變更磁片磁碟機中的 WSMAN 組態設定。 下列範例會將 TrustedHosts 值設定為接受尾碼為 「contoso.com」 的所有主機。

# You do not need to specify the -Path parameter name when using Set-Item.
PS WSMAN:\localhost\Client> Set-Item .\TrustedHosts -Value "*.contoso.com"

Cmdlet Set-Item 支援附加值而非變更值的其他參數 -Concatenate 。 下列範例會將新的值 「*.domain2.com」 附加至儲存在 中的舊值 TrustedHost:

Set-Item WSMAN:\localhost\Client\TrustedHosts *.domain2.com -Concatenate

在 WSMAN: 磁片磁碟機中建立專案

建立新的接聽程式

Cmdlet New-Item 會在提供者磁片磁碟機內建立專案。 每個提供者都有您可以建立的不同專案類型。 在磁片磁碟機中 WSMAN: ,您可以建立您設定接收和回應遠端要求的 接聽程式 。 下列命令會使用 New-Item Cmdlet 建立新的 HTTP 接聽程式。

New-Item -Path WSMan:\localhost\Listener -Address * -Transport HTTP -force

建立新的外掛程式

此命令會建立適用於 WS-Management 服務的 (暫存器) 外掛程式。

New-Item -Path WSMan:\localhost\Plugin `
         -Plugin TestPlugin `
         -FileName %systemroot%\system32\WsmWmiPl.dll `
         -Resource http://schemas.dmtf.org/wbem/wscim/2/cim-schema `
         -SDKVersion 1 `
         -Capability "Get","Put","Invoke","Enumerate" `
         -XMLRenderingType text

建立新的資源專案

此命令會在 TestPlugin 的 Resources 目錄中建立資源專案。 此命令假設已使用個別命令建立 TestPlugin。

New-Item -Path WSMan:\localhost\Plugin\TestPlugin\Resources `
         -ResourceUri http://schemas.dmtf.org/wbem/wscim/3/cim-schema `
         -Capability "Enumerate"

建立資源的新安全性專案

此命令會在 Resource_5967683 (特定資源) 的 [安全性] 目錄中建立安全性項目。 此命令假設已使用個別命令建立資源專案。

$path = "WSMan:\localhost\Plugin\TestPlugin\Resources\Resource_5967683"
New-Item -Path $path\Security `
         -Sddl "O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)"

建立新的用戶端憑證

此命令會建立可供WS-Management用戶端使用的 ClientCertificate 專案。 新的ClientCertificate 會顯示在 ClientCertificate目錄底下,顯示為 「ClientCertificate_1234567890」。 所有的參數都是必要項。 簽發者必須是簽發者憑證的指紋。

$cred = Get-Credential
New-Item -Path WSMan:\localhost\ClientCertificate `
         -Issuer 1b3fd224d66c6413fe20d21e38b304226d192dfe `
         -URI wmicimv2/* `
         -Credential $cred;

建立新的初始化參數

此命令會在 「InitializationParameters」 目錄中建立名為 「testparametername」 的初始化參數。 此命令假設已使用個別命令建立 「TestPlugin」。

New-Item -Path WSMan:\localhost\Plugin\TestPlugin\InitializationParameters `
         -ParamName testparametername `
         -ParamValue testparametervalue

動態參數

動態參數是 PowerShell 提供者所新增的 Cmdlet 參數,只有在啟用提供者的磁片磁碟機中使用 Cmdlet 時才可使用。

位址 < 字串>

指定為其建立此接聽程式的位址。 這個值可以是下列值之一:

  • 常值字串 「*」。 (萬用字元 (*) 讓命令系結所有網路介面卡上的所有 IP 位址。)
  • 常值字串 「IP:」 後面接著 IPv4 點十進位格式或 IPv6 複製十六進位格式的有效 IP 位址。
  • 常值字串 「MAC:」 後面接著介面卡的 MAC 位址。 例如:MAC:32-a3-58-90-be-cc。

注意

Address 值是在建立接聽程式時建立的。

支援的 Cmdlet

<功能列舉>

使用 外掛程式 時,此參數會指定此統一資源識別項 (URI) 支援的作業。 您必須針對 URI 支援的每個操作類型建立一個項目。 如果作業支援,您可以指定指定作業的任何有效屬性。

這些屬性包括 SupportsFilteringSupportsFragment

  • 建立:URI 上支援建立作業。
    • 如果 Create 作業支援概念,則會使用 SupportFragment 屬性。
    • SupportFiltering屬性對建立作業無效,而且應該設定為 「False」。

    注意

    如果同時支援 Shell 操作,則這個操作對 URI 而言是無效的。

  • 刪除:URI 支援刪除作業。
    • 如果 Delete 作業支援概念,則會使用 SupportFragment 屬性。
    • SupportFiltering屬性對 Delete 作業無效,而且應該設定為 「False」。

    注意

    如果同時支援 Shell 操作,則這個操作對 URI 而言是無效的。

  • 列舉:URI 支援列舉作業。
    • 列舉作業不支援 SupportFragment 屬性,而且應該設定為 False。
    • SupportFiltering屬性有效,如果外掛程式支援篩選,則此屬性應設定為 「True」。

    注意

    如果同時支援 Shell 操作,則這個操作對 URI 而言是無效的。

  • 取得:URI 上支援取得作業。
    • 如果 Get 作業支援概念,則會使用 SupportFragment 屬性。
    • SupportFiltering屬性對 Get 作業無效,而且應該設定為 「False」。

    注意

    如果同時支援 Shell 操作,則這個操作對 URI 而言是無效的。

  • 用:URI 支援叫用作業。
    • Invoke 作業不支援 SupportFragment 屬性,而且應該設定為 False。
    • SupportFiltering屬性無效,且應設定為 「False」。

    注意

    如果同時支援 Shell 操作,則這個操作對 URI 而言是無效的。

  • Put:URI 上支援 Put 作業。
    • 如果 Put 作業支援概念,則會使用 SupportFragment 屬性。
    • SupportFiltering屬性對 Put 作業無效,而且應該設定為 「False」。

    注意

    如果同時支援 Shell 操作,則這個操作對 URI 而言是無效的。

  • 訂閱:URI 支援訂閱作業。
    • 訂閱作業不支援 SupportFragment 屬性,而且應該設定為 False。
    • SupportFiltering屬性對訂閱作業無效,而且應該設定為 「False」。

    注意

    如果同時支援 Shell 操作,則這個操作對 URI 而言是無效的。

  • 殼層:URI 上支援殼層作業。
    • Shell 作業不支援 SupportFragment 屬性,而且應該設定為 「False」。
    • SupportFiltering屬性對 Shell 作業無效,而且應該設定為 「False」。

    注意

    如果也支援任何其他作業,此作業對 URI 無效。

    注意

    如果已針對 URI 設定 Shell 操作,則會在 WS-Management (WinRM) 服務內部處理 Get、Put、Create、Delete、Invoke 及 Enumerate 操作來管理殼層。 因此,外掛程式無法處理這些操作。

支援的 Cmdlet

CertificateThumbprint < 字串>

指定服務憑證的指紋。

這個值表示憑證 [指紋] 欄位中兩位數十六進位值的字串。 它會為有權執行此動作的使用者帳戶指定數位公開金鑰憑證 (X509)。 憑證將用於用戶端憑證式驗證。 它們只能對應到本機使用者帳戶,無法用於網域帳戶。 若要取得憑證指紋,請使用 Get-Item PowerShell Cert: 磁片磁碟機中的 或 Get-ChildItem Cmdlet。

支援的 Cmdlet

Enabled < Boolean>

指定接聽程式已啟用或停用。 預設值為 True。

支援的指令程式

FileName (Plugin) < String>

指定作業外掛程式的檔案名。 收到要求時,任何放入這個專案的環境變數都會在使用者的內容中展開。 因為每個使用者可以有不同版本的相同環境變數,所以每個使用者可以有不同的外掛程式。 此專案不可空白,而且必須指向有效的外掛程式。

支援的指令程式

HostName < 字串>

指定 WS-Management (WinRM) 服務執行所在之電腦的主機名稱。

值必須是完整網域名稱、IPv4 或 IPv6 常值字串,或是萬用字元。

支援的指令程式

簽發者 < 字串>

指定簽發憑證的憑證授權單位名稱。

支援的指令程式

該外掛程式會插入 並擴充 WS-Management 的功能。 WSW-Management外掛程式 API 提供的功能,可讓使用者針對支援的資源 URI 和作業實作特定 API 來撰寫外掛程式。 針對 WS-Management (WinRM) 服務或 Internet Information Services (IIS) 設定外掛程式之後,就會分別在 WS-Management 主機或 IIS 主機上載入外掛程式。 系統會將遠端要求路由傳送到這些外掛程式的進入點來執行操作。

支援的指令程式

埠 < 不帶正負號的短整數>

指定為其建立此接聽程式的 TCP 連接埠。 您可以指定 1 到 65535 之間的任何值。

支援的指令程式

資源 < 字串>

指定代表不同類型的管理操作或值的端點。 服務會公開一或多個資源,而有些資源可具有一個以上的執行個體。 管理資源類似 WMI 類別或資料庫資料表,而執行個體類似類別的執行個體或資料表中的資料列。 例如, Win32_LogicalDisk 類別代表資源。 Win32_LogicalDisk="C:\\" 是資源的特定實例。

統一資源識別項 (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) 來識別電腦上特定類型的資源,例如,磁碟或處理程序。

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

支援的指令程式

SDKVersion < 字串>

指定 SDK 中 WS-Management 外掛程式的版本。 唯一的有效值為 1。

支援的指令程式

主旨 < 字串>

指定由憑證識別的實體。

支援的指令程式

傳輸 < 字串>

指定要用來傳送和接收 WS-Management 通訊協定的要求和回應的傳輸。 值必須是 HTTP 或 HTTPS。

注意:建立接聽程式時會設定傳輸值。

支援的指令程式

URI < 字串>

識別要根據 Sddl 參數值授權存取的 URI。

支援的指令程式

URLPrefix < 字串>

要接受 HTTP 或 HTTPS 要求的 URL 首碼。 此字串只包含字元 [a-z] 、、 [A-Z][9-0] 底線 (_) 和反斜線 (/) 。 字串不能以反斜線開頭或結尾 (/) 。 例如,如果電腦名稱稱是 「SampleComputer」,則WS-Management用戶端會在目的地位址中指定 http://SampleMachine/URLPrefix

支援的指令程式

值 < 字串>

指定初始化參數的值,這是用來指定設定選項的外掛程式特定值。

支援的指令程式

XMLRenderingType < 字串>

指定 XML 透過 WSMAN_DATA 物件傳遞至外掛程式的格式。 以下是有效值:

  • Text:傳入 XML 資料包含在 WSMAN_DATA_TYPE_TEXT 結構中,以 PCWSTR 記憶體緩衝區表示 XML。
  • XMLReader:傳入的 XML 資料包含在 WSMAN_DATA_TYPE_WS_XML_READER 結構中,以 XmlReader 物件表示 XML,該物件定義于 「WebServices.h」 標頭檔中。

支援的指令程式

使用管線

提供者 Cmdlet 接受管線輸入。 您可以使用管線來簡化工作,方法是將提供者資料從一個 Cmdlet 傳送到另一個提供者 Cmdlet。 若要深入瞭解如何搭配提供者 Cmdlet 使用管線,請參閱本文中提供的 Cmdlet 參考。

取得說明

從 Windows PowerShell 3.0 開始,您可以取得提供者 Cmdlet 的自訂說明主題,這些主題說明這些 Cmdlet 在檔案系統磁碟機中的行為方式。

若要取得針對檔案系統磁片磁碟機自訂的說明主題,請在檔案系統磁片磁碟機中執行 Get-Help 命令,或使用 -PathGet-Help 參數來指定檔案系統磁片磁碟機。

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path wsman:

另請參閱