共用方式為


WSMan 提供者

提供者名稱

WSMan

磁碟機

WSMan:

簡短描述

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

詳細描述

適用於 PowerShell 的 WSMan 提供者可讓您在本機或遠端電腦上新增、變更、清除和刪除 WS-Management 設定數據。

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

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

WSMan 提供者支援下列 Cmdlet,本文涵蓋這些 Cmdlet。

注意

您可以使用磁碟驅動器中的 WSMan: 命令來變更新屬性的值。 不過,您無法在 PowerShell 2.0 中使用WSMan:磁碟驅動器來變更 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) 提供者外掛程式。 這三個外掛程式支援事件轉送、設定和 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)"

建立新的客戶端憑證

此命令會建立用戶端可以使用的 ClientCertificate 專案 WS-Management 用戶端。 新的 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

  • Create:URI 上支援 Create 作業。
    • 如果 Create 作業支援概念,則會使用 SupportFragment 屬性。
    • SupportFiltering 屬性對 Create 作業無效,而且應該設定為 “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 作業支援概念,則會使用 SupportFragment 屬性。
    • SupportFiltering 屬性對 Put 作業無效,而且應該設定為 “False”。

    注意

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

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

    注意

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

  • 層:URI 上支援殼層作業。
    • Shell 作業不支援 SupportFragment 屬性,而且應該設定為 “False”。
    • SupportFiltering 屬性對殼層作業無效,而且應該設定為 “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) 包含資源的前置詞與路徑。 例如:

https://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 是由前置詞與資源路徑所組成。 例如:

https://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:

另請參閱

about_Providers