about_WSMan_Provider

提供者名稱

WSMan

磁碟機

WSMan:

簡短描述

提供 Web Services for Management (WS-Management) 組態資訊的存取權。

詳細描述

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

PowerShell 的 WSMan 提供者可讓您在本機或遠端電腦上新增、變更、清除及刪除 WS 管理設定數據。

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

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

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

注意

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

WSMan:Drive 的組織

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

  • 服務:您可以設定 WS 管理服務的各個層面。 組態資訊會儲存在登錄中。

    注意

    服務組態有時稱為伺服器組態。

  • 殼層:您可以設定 WS 管理殼層的各個層面,例如允許遠端殼層存取的設定(AllowRemoteShellAccess),以及允許的並行用戶數目上限(MaxConcurrentUsers)。

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

  • 外掛程式:WS 管理服務會載入並使用外掛程式,以提供各種功能。 根據預設,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 提供者目錄階層與本機電腦相同。 不過,若要存取遠端電腦的組態設定,您必須使用 連線-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 管理存放區。

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”。

    注意

    如果也支援殼層作業,則此作業對 URI 無效。

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

    注意

    如果也支援殼層作業,則此作業對 URI 無效。

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

    注意

    如果也支援殼層作業,則此作業對 URI 無效。

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

    注意

    如果也支援殼層作業,則此作業對 URI 無效。

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

    注意

    如果也支援殼層作業,則此作業對 URI 無效。

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

    注意

    如果也支援殼層作業,則此作業對 URI 無效。

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

    注意

    如果也支援殼層作業,則此作業對 URI 無效。

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

    注意

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

    注意

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

支援的 Cmdlet

CertificateThumbprint <字串>

指定服務憑證的指紋。

這個值代表憑證 [指紋] 字段中兩位數十六進位值的字串。 它會指定具有執行此動作許可權之用戶帳戶的數位公鑰憑證 (X509)。 憑證將用於用戶端憑證式驗證。 它們只能對應到本機用戶帳戶,而且不適用於網域帳戶。 若要取得憑證指紋,請使用 Get-Item PowerShell Cert: 磁碟驅動器中的或 Get-ChildItem Cmdlet。

支援的 Cmdlet

Enabled <Boolean>

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

支援的 Cmdlet

FileName (外掛程式) <字串>

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

支援的 Cmdlet

HostName <字串>

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

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

支援的 Cmdlet

簽發者 <字串>

指定頒發憑證的證書頒發機構單位名稱。

支援的 Cmdlet

該外掛程式並擴充 WS-Management 的功能。 WSW 管理外掛程式 API 提供功能,可讓使用者針對支援的資源 URI 和作業實作特定 API 來撰寫外掛程式。 針對 WS-Management (WinRM) 服務或 網際網路資訊服務 (IIS) 設定外掛程式之後,外掛程式會分別載入 WS-Management 主機或 IIS 主機。 遠端要求會路由傳送至這些外掛程式進入點,以執行作業。

支援的 Cmdlet

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

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

支援的 Cmdlet

資源 <字串>

指定代表不同類型管理作業或值的端點。 服務會公開一或多個資源,而某些資源可以有多個實例。 管理資源類似於 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

支援的 Cmdlet

資源 <字串>

指定在計算機上識別特定資源類型的統一資源識別碼(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

支援的 Cmdlet

SDKVersion <字串>

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

支援的 Cmdlet

主旨 <字串>

指定憑證所識別的實體。

支援的 Cmdlet

傳輸 <字串>

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

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

支援的 Cmdlet

URI <字串>

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

支援的 Cmdlet

URLPrefix <字串>

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

支援的 Cmdlet

值 <字串>

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

支援的 Cmdlet

XMLRenderingType <字串>

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

  • 文字:傳入 XML 數據包含在WSMAN_DATA_TYPE_TEXT結構中,以 PCWSTR 記憶體緩衝區表示 XML
  • XMLReader:傳入 XML 數據包含在 WSMAN_DATA_TYPE_WS_XML_READER 結構中,該結構表示 XML 做為 XmlReader 物件,該物件定義於 “WebServices.h” 頭檔中。

支援的 Cmdlet

使用管線

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

取得說明

從 Windows PowerShell 3.0 開始,您可以取得提供者 Cmdlet 的自定義說明主題,說明這些 Cmdlet 在文件系統磁碟驅動器中的運作方式。

若要取得針對文件系統磁碟驅動器自定義的說明主題,請在檔案系統磁碟驅動器中執行 Get-Help 命令,或使用 -Path Get-Help 的參數來指定檔案系統磁碟驅動器。

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

另請參閱