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>
巡覽 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-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 支援的每個操作類型建立一個項目。 如果作業支援,您可以指定指定作業的任何有效屬性。
這些屬性包括 SupportsFiltering 和 SupportsFragment。
- 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 外掛程式是原生動態連結庫, (DLL)
該外掛程式,並擴充 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 命令,或使用 -Path
Get-Help 參數來指定檔案系統磁碟驅動器。
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path wsman: