叫用由資源 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

https://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         : https://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Description
-----------
這個命令會呼叫與多工緩衝處理器服務對應之 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         : https://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Description
-----------
這個命令會使用檔案的輸入,對多工緩衝處理器服務呼叫 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         : https://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ProcessId   : 6356
ReturnValue : 0

Description
-----------
這個命令會呼叫 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         : https://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Description
-----------
這個命令會呼叫與多工緩衝處理器服務對應之 Win32_Service WMI 類別執行個體的 StartService 方法。因為指定了 ComputerName 參數,所以這個命令會針對遠端 server01 電腦執行。

傳回值表示動作是否已成功執行。在這個範例中,傳回值 0 表示成功。傳回值 5 則表示服務已經啟動。






請參閱




目錄