about_WSMan_Provider
提供者名稱
WSMan
磁碟機
WSMan:
簡短描述
提供 Web Services for Management (WS-Management) 組態資訊的存取權。
詳細描述
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 提供者目錄階層與本機電腦相同。 不過,若要存取遠端電腦的組態設定,您必須使用 Connect-WSMan 連線至遠端電腦。 聯機到遠端計算機之後,遠端計算機的名稱會顯示在提供者中。
WSMan:\<Remote_Computer_Name>
流覽 WSMan:磁碟驅動器
此命令會 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 支援的每個作業類型建立一個專案。 如果作業支援該作業,您可以指定指定作業的任何有效屬性。
這些屬性包括 SupportsFiltering 和 SupportsFragment。
- 建立: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 外掛程式是原生動態連結庫 (DLL)
該外掛程式並擴充 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: