Invoke-WSManAction
在由資源 URI 與選取器所指定的物件上叫用動作。
Syntax
Invoke-WSManAction
[-Action] <String>
[-ConnectionURI <Uri>]
[-FilePath <String>]
[-OptionSet <Hashtable>]
[[-SelectorSet] <Hashtable>]
[-SessionOption <SessionOption>]
[-ValueSet <Hashtable>]
[-ResourceURI] <Uri>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Invoke-WSManAction
[-Action] <String>
[-ApplicationName <String>]
[-ComputerName <String>]
[-FilePath <String>]
[-OptionSet <Hashtable>]
[-Port <Int32>]
[[-SelectorSet] <Hashtable>]
[-SessionOption <SessionOption>]
[-UseSSL]
[-ValueSet <Hashtable>]
[-ResourceURI] <Uri>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Description
會在 Invoke-WSManAction RESOURCE_URI所指定的 物件上執行動作,其中參數是由索引鍵值組指定。
此 Cmdlet 會使用 WSMan 連線/傳輸層來執行動作。
範例
範例 1:叫用方法
Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service -SelectorSet @{name="spooler"} -Authentication default
xsi : http://www.w3.org/2001/XMLSchema-instance
p : http://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:叫用方法
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 : http://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
此命令會使用檔案的輸入,在 Spooler 服務上呼叫 StopService 方法。
Input.xml檔案包含下列內容:
<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />
傳回值指出動作是否成功。 在此案例中,0 的傳回值表示成功。 5 的傳回值表示服務已啟動。
範例 3:使用指定的參數值叫用方法
Invoke-WSManAction -Action create -ResourceURI wmicimv2/win32_process -ValueSet @{commandline="notepad.exe";currentdirectory="C:\"}
xsi : http://www.w3.org/2001/XMLSchema-instance
p : http://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.exeC:\ 。 因此,系統會建立新的進程來執行記事本,而新進程的目前目錄會設定為 C:\ 。
範例 4:在遠端電腦上叫用方法
Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service -SelectorSet @{name="spooler"} -ComputerName server01 -Authentication default
xsi : http://www.w3.org/2001/XMLSchema-instance
p : http://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 的傳回值表示服務已啟動。
參數
指定要在 ResourceURI 和選取器所指定的管理物件上執行的方法。
| Type: | String |
| Position: | 1 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
指定連線中的應用程式名稱。 ApplicationName 參數的預設值是 WSMAN。 遠端端點的完整識別碼使用下列格式:
<Transport>://<Server>:<Port>/<ApplicationName>
例如:
http://server01:8080/WSMAN
裝載工作階段的網際網路資訊服務 (IIS),會使用此端點轉送要求至指定的應用程式。 此預設設定 "WSMAN" 適用於大部分用途。 此參數是設計用於下列狀況:多部電腦建立遠端連線至同一部執行 Windows PowerShell 的電腦。 在此案例中,IIS 會裝載管理 Web 服務 (WS-Management) 以獲得較佳效率。
| Type: | String |
| Position: | Named |
| Default value: | Wsman |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
指定用於伺服器的驗證機制。 可能的值包括:
Basic- 基本是一種配置,其中使用者名稱和密碼會以純文字形式傳送至伺服器或 Proxy。Default- 使用由 WS-Management 通訊協定實作的驗證方法。 此為預設值。Digest- 摘要是一種挑戰回應配置,會針對挑戰使用伺服器指定的資料字串。Kerberos- 用戶端電腦和伺服器會使用 Kerberos 憑證相互驗證。Negotiate- 交涉是與伺服器或 Proxy 交涉以判斷要用於驗證的配置的挑戰回應配置。 例如,此參數值允許交涉以決定要使用 Kerberos 通訊協定或 NTLM。CredSSP- 使用認證安全性支援提供者 (CredSSP) 驗證,讓使用者能夠委派認證。 此選項是針對下列命令所設計:命令在遠端電腦上執行,但是收集來自其他遠端電腦上的資料,或是在其他遠端電腦上執行其他命令。
警告
CredSSP 將使用者認證從本機電腦委派給遠端電腦。 此做法會使得遠端作業的安全性風險變高。 若遠端電腦遭到入侵,當認證被傳遞給它時,該認證便可用來控制網路工作階段。
| Type: | Microsoft.WSMan.Management.AuthenticationMechanism |
| Aliases: | auth, am |
| Accepted values: | None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
對於具有執行此動作之權限的使用者帳戶,指定其數位公開金鑰憑證 (X509)。 請輸入憑證的憑證指紋。
憑證將用於用戶端憑證式驗證。 這些憑證只能對應至本機使用者帳戶,無法用於網域帳戶。
若要取得憑證指紋,請使用 Get-Item Windows PowerShell憑證: 磁片磁碟機中的 或 Get-ChildItem 命令。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
指定要執行管理作業的電腦。 值可以是完整網域名稱、NetBIOS 名稱或 IP 位址。 使用本機電腦名稱稱、使用 localhost,或使用點 () . 來指定本機電腦。 預設值是本機電腦。 當遠端電腦與使用者位於不同網域,您必須使用完整網域名稱。 您可以使用管線將此參數的值傳送至 Cmdlet。
| Type: | String |
| Aliases: | cn |
| Position: | Named |
| Default value: | Localhost |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
指定連線端點。 此字串的格式為:
<Transport>://<Server>:<Port>/<ApplicationName>
下列字串是此參數的正確格式值:
http://Server01:8080/WSMAN
此 URI 必須是完整的 URI。
| Type: | Uri |
| Aliases: | CURI, CU |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
指定具有執行此動作權限的使用者帳戶。 預設為目前使用者。 輸入使用者名稱,例如 「User01」、「Domain01\User01」 或 User@Domain.com 。 或者,輸入 PSCredential 物件,例如 Cmdlet 所傳回的物件 Get-Credential 。 當您輸入使用者名稱時,會提示您輸入密碼。
| Type: | PSCredential |
| Aliases: | cred, c |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
指定用來更新管理資源之檔案的路徑。 您可以使用 ResourceURI 參數與 SelectorSet 參數來指定管理資源。 例如,下列命令使用 FilePath 參數:
Invoke-WSManAction -Action stopservice -ResourceUri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath c:\input.xml -Authentication default
此命令會使用檔案的輸入,在 Spooler 服務上呼叫 StopService 方法。 Input.xml檔案包含下列內容:
<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
將一組切換參數傳遞給服務,以修改或精簡要求的本質。 這些切換參數類似於命令列殼層中使用的切換參數,因為都是服務特定的切換參數。 您可以指定任意數目的選項。
下列範例示範的語法可傳遞 a、b 與 c 參數的值 1、2 與 3:
-OptionSet @{a=1;b=2;c=3}
| Type: | Hashtable |
| Aliases: | os |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
指定用戶端連線 WinRM 服務時所使用的連接埠。 傳輸為 HTTP 時,預設連接埠為 80。 傳輸為 HTTPS 時,預設連接埠為 443。 使用 HTTPS 做為傳輸時,ComputerName 參數的值必須符合伺服器憑證一般名稱 (CN)。 不過,如果 SkipCNCheck 參數指定為 SessionOption 參數的一部分,則伺服器憑證一般名稱不必符合伺服器主機名稱。 SkipCNCheck 參數只能用於信任的電腦。
| Type: | Int32 |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
包含資源類別或執行個體的「統一資源識別項 (URI)」。 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
| Type: | Uri |
| Aliases: | ruri |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
指定一組值組,用來選取特定管理資源執行個體。 當資源有多個實例存在時,就會使用SelectorSet。 SelectorSet的值必須是雜湊表。
下列範例顯示如何輸入此參數的值:
-SelectorSet @{Name="WinRM";ID="yyy"}
| Type: | Hashtable |
| Position: | 2 |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
定義 WS-Management 工作階段的一組擴充選項。 輸入您使用 Cmdlet 建立的 New-WSManSessionOption SessionOption 物件。 如需可用選項的詳細資訊,請參閱 New-WSManSessionOption 。
| Type: | Microsoft.WSMan.Management.SessionOption |
| Aliases: | so |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
指定使用安全通訊端層 (SSL) 通訊協定來建立遠端電腦連線。 預設不會使用 SSL。
WS-Management會加密透過網路傳輸的所有 PowerShell 內容。 UseSSL 參數可讓您指定 HTTPS 額外保護,以取代 HTTP。 若用於連線的連接埠上無法使用 SSL,且您指定此參數,則命令會失敗。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
指定有助於修改管理資源的雜湊表。 您可以使用 ResourceURI 和 SelectorSet 參數來指定管理資源。 ValueSet 參數的值必須為雜湊表。
| Type: | Hashtable |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
輸入
None
此 Cmdlet 不接受任何輸入。
輸出
None
此 Cmdlet 不會產生任何輸出。
相關連結
意見反應
提交並檢視相關的意見反應