Invoke-WSManAction
叫用由資源 URI 和選取器所指定之物件上的動作。
語法
Invoke-WSManAction [-ApplicationName <string>] [-ComputerName <string>] [-Credential <PSCredential>] [-Credential <PSCredential>] [-Credential <PSCredential>] [-Credential <PSCredential>] [-Credential <PSCredential>] [-Credential <PSCredential>] [-Credential <PSCredential>] [-Credential <PSCredential>] [-Credential <PSCredential>] [-Port <int>] [-Port <int>] [-Port <int>] [-Port <int>] [-Port <int>] [-Port <int>] [-Port <int>] [-Port <int>] [-Port <int>] [-UseSSL] [-ResourceURI] <Uri> [-Action] <string> [-Authentication <AuthenticationMechanism>] [-FilePath <File>] [-OptionSet <hashtable>] [-SelectorSet <hashtable>] [-SessionOption <hashtable>] [-ValueSet <hashtable>] [<CommonParameters>]
Invoke-WSManAction [-ConnectionURI <Uri>] [-ResourceURI] <Uri> [-Action] <string> [-Authentication <AuthenticationMechanism>] [-FilePath <File>] [-OptionSet <hashtable>] [-SelectorSet <hashtable>] [-SessionOption <hashtable>] [-ValueSet <hashtable>] [<CommonParameters>]
描述
Invoke-WSManAction 會針對 RESOURCE_URI 所指定的物件執行動作,其中參數是由索引鍵值組所指定。
此 Cmdlet 會使用 WSMan 連線/傳輸層來執行動作。
參數
-Action <string>
指出要針對由 ResourceURI 和選取器所指定之管理物件執行的方法。
必要? |
true |
位置? |
2 |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-ApplicationName <string>
指定連線中的應用程式名稱。ApplicationName 參數的預設值為 WSMAN。遠端端點的完整識別元的格式如下:
<傳輸>://<伺服器>:<連接埠>/<ApplicationName>
例如:
http://server01:8080/WSMAN
為工作階段提供服務的 Internet Information Services (IIS) 會將包含此端點的要求轉送到指定的應用程式。此 "WSMAN" 的預設設定適合大部分使用情況。此參數是為了多台電腦遠端連線到一台執行 Windows PowerShell 的電腦時使用而設計。在此情況下,IIS 會裝載 Web Services for Management (WS-Management) 以提升效率。
必要? |
false |
位置? |
named |
預設值 |
wsman |
接受管線輸入? |
false |
接受萬用字元? |
false |
-Authentication <AuthenticationMechanism>
指定用於伺服器的驗證機制。可能的值為:
- Basic:Basic 是一種以純文字格式將使用者名稱和密碼傳送到伺服器或 Proxy 的配置。
- Default:使用 WS-Management 通訊協定所實作的驗證方法。這是預設值。
- Digest:Digest 是一種挑戰-回應配置,會使用伺服器指定的資料字串進行挑戰。
- Kerberos:用戶端電腦與伺服器可使用 Kerberos 憑證相互驗證。
- Negotiate:Negotiate 是一種挑戰-回應配置,可與伺服器或 Proxy 進行交涉以決定要用於驗證的配置。例如,此參數值允許交涉式驗證判斷是使用 Kerberos 通訊協定還是 NTLM。
- CredSSP:使用認證安全性服務提供者 (CredSSP) 驗證,該驗證允許使用者委派認證。此選項專為在一台遠端電腦執行,但卻從其他遠端電腦收集資料或執行其他命令的命令而設計。
警告:CredSSP 會從本機電腦將使用者的認證委派給遠端電腦。此做法會提高遠端操作的安全性風險。如果遠端電腦已經遭受危害,當認證傳送到遠端電腦時,便可能遭到利用來控制網路工作階段。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-ComputerName <string>
指定要對其執行管理作業的電腦。此值可以是完整網域名稱、NetBIOS 名稱或 IP 位址。請使用本機電腦名稱、localhost 或點 (.) 指定本機電腦。本機電腦為預設值。當遠端電腦所在的網域與使用者的網域不同時,必須使用完整網域名稱。您可以經由管道將此參數的值輸出至 Cmdlet。
必要? |
false |
位置? |
named |
預設值 |
localhost |
接受管線輸入? |
false |
接受萬用字元? |
false |
-ConnectionURI <Uri>
指定連線端點。此字串的格式為:
<傳輸>://<伺服器>:<連接埠>/<ApplicationName>
下列字串是此參數的正確格式值:
http://Server01:8080/WSMAN
此 URI 必須是完整的 URI。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Credential <PSCredential>
指定具有執行此動作之權限的使用者帳戶。預設為目前使用者。請輸入使用者名稱,例如 "User01"、"Domain01\User01" 或 "User@Domain.com"。或者輸入 PSCredential 物件,例如 Get-Credential Cmdlet 所傳回的物件。當您輸入使用者名稱時,會提示您輸入密碼。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-FilePath <File>
指定用來更新管理資源之檔案的路徑。您可以使用 ResourceURI 參數和 SelectorSet 參數來指定管理資源。例如,下列命令會使用 FilePath 參數:
invoke-wsmanaction -action stopservice -resourceuri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath:c:\input.xml -authentication default
這個命令會使用檔案的輸入,對多工緩衝處理器服務呼叫 StopService 方法。Input.xml 檔案包含下列內容:
<p:StopService_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service"/>
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-OptionSet <hashtable>
將一組切換參數傳遞到服務,以修改或精簡要求的性質。這些切換參數與命令列殼層中使用的切換參數相似,因為它們都是服務專有的參數。您可以指定任何數量的選項。
下列範例會示範將值 1、2、3 傳遞給參數 a、b、c 的語法:
-OptionSet @{a=1;b=2;c=3}
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
true (ByValue, ByPropertyName) |
接受萬用字元? |
false |
-Port <int>
指定用戶端與 WinRM 服務連線時所要使用的連接埠。傳輸協定為 HTTP 時的預設連接埠是 80。傳輸協定為 HTTPS 時的預設連接埠是 443。當您使用 HTTPS 做為傳輸協定時,ComputerName 參數的值必須與伺服器的憑證一般名稱 (CN) 相符。然而,若將 SkipCNCheck 參數指定為 SessionOption 參數的一部分,則伺服器的憑證一般名稱不必與伺服器的主機名稱相符。SkipCNCheck 參數只能用於受信任的電腦。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-ResourceURI <Uri>
包含資源類別或執行個體的統一資源識別項 (URI)。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
必要? |
true |
位置? |
1 |
預設值 |
|
接受管線輸入? |
true (ByValue, ByPropertyName) |
接受萬用字元? |
false |
-SelectorSet <hashtable>
指定一組用來選取特定管理資源執行個體的值組。有一個以上的資源執行個體時,就必須使用 SelectorSet 參數。SelectorSet 參數的值必須是雜湊表。
下列範例示範如何輸入此參數的值:
-SelectorSet @{Name="WinRM";ID="yyy"}
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-SessionOption <hashtable>
定義一組用於 WS-Management 工作階段的擴充選項。請輸入使用 New-WSManSessionOption Cmdlet 所建立的 SessionOption 物件。如需可用選項的詳細資訊,請參閱 New-WSManSessionOption。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-UseSSL
指定必須使用安全通訊端層 (SSL) 通訊協定來建立與遠端電腦的連線。預設不會使用 SSL。
WS-Management 會將所有透過網路傳輸的 Windows PowerShell 內容加密。UseSSL 參數可以讓您指定使用 HTTPS 提供多一層防護,而非使用 HTTP。如果連線所用的連接埠無法供 SSL 使用,但卻指定此參數,則命令會失敗。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-ValueSet <hashtable>
指定可協助修改管理資源的雜湊表。您可以使用 ResourceURI 參數和 SelectorSet 參數來指定管理資源。ValueSet 參數的值必須是雜湊表。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
<CommonParameters>
這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.
輸入和輸出
輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。
輸入 |
無 這個 Cmdlet 不接受任何輸入。 |
輸出 |
無 這個 Cmdlet 不會產生任何輸出。 |
範例 1
C:\PS>invoke-wsmanaction -action startservice -resourceuri wmicimv2/win32_service -selectorset @{name="spooler"} -authentication default
xsi : http://www.w3.org/2001/XMLSchema-instance
p : https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim : http://schemas.dmtf.org/wbem/wscim/1/common
lang : en-US
ReturnValue : 0
描述
-----------
這個命令會呼叫與多工緩衝處理器服務對應之 Win32_Service WMI 類別執行個體的 StartService 方法。
傳回值表示動作是否已成功執行。在這個範例中,傳回值 0 表示成功。傳回值 5 則表示服務已經啟動。
範例 2
C:\PS>invoke-wsmanaction -action stopservice -resourceuri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath:input.xml -authentication default
xsi : http://www.w3.org/2001/XMLSchema-instance
p : https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim : http://schemas.dmtf.org/wbem/wscim/1/common
lang : en-US
ReturnValue : 0
描述
-----------
這個命令會使用檔案的輸入,對多工緩衝處理器服務呼叫 StopService 方法。Input.xml 檔案包含下列內容:
<p:StopService_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service"/>
傳回值表示動作是否已成功執行。在這個範例中,傳回值 0 表示成功。傳回值 5 則表示服務已經啟動。
範例 3
C:\PS>invoke-wsmanaction -action create -resourceuri wmicimv2/win32_process -valueset @{commandline="notepad.exe";currentdirectory="C:\"}
xsi : http://www.w3.org/2001/XMLSchema-instance
p : https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Process
cim : http://schemas.dmtf.org/wbem/wscim/1/common
lang : en-US
ProcessId : 6356
ReturnValue : 0
描述
-----------
這個命令會呼叫 Win32_Process 類別的 Create 方法,並將兩個參數值 Notepad.exe 和 "C:\" 傳遞給它。執行命令之後,便會建立新的處理序以執行 [筆記本],並將新處理序目前的目錄設定為 "C:\"。
範例 4
C:\PS>invoke-wsmanaction -action startservice -resourceuri wmicimv2/win32_service -selectorset @{name="spooler"} -computername server01 -authentication default
xsi : http://www.w3.org/2001/XMLSchema-instance
p : https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim : http://schemas.dmtf.org/wbem/wscim/1/common
lang : en-US
ReturnValue : 0
描述
-----------
這個命令會呼叫與多工緩衝處理器服務對應之 Win32_Service WMI 類別執行個體的 StartService 方法。因為指定了 ComputerName 參數,所以這個命令會針對遠端 server01 電腦執行。
傳回值表示動作是否已成功執行。在這個範例中,傳回值 0 表示成功。傳回值 5 則表示服務已經啟動。
請參閱
概念
Connect-WSMan
Disable-WSManCredSSP
Disconnect-WSMan
Enable-WSManCredSSP
Get-WSManCredSSP
Get-WSManInstance
New-WSManInstance
New-WSManSessionOption
Remove-WSManInstance
Set-WSManInstance
Set-WSManQuickConfig
Test-WSMan
Invoke-WmiMethod