簡短描述
本主題描述所有 Windows PowerShell 工作流程命令上有效的參數。 因為 Windows PowerShell 引擎會將這些參數新增至工作流程,所以您可以在任何工作流程上使用這些參數,而且這些參數會自動啟用您撰寫的工作流程。
長描述
Windows PowerShell 工作流程一般參數是一組 Cmdlet 參數,您可以搭配所有 Windows PowerShell 工作流程和活動使用。 它們是由 Windows PowerShell 工作流程引擎所新增,而不是由工作流程作者所新增,而且它們會自動在工作流程和活動上使用。 不過,巢狀三層深度的工作流程不支援任何常見的參數,包括工作流程通用參數。
所有工作流程參數都是選擇性的,且命名為 (不是位置)。 它們不會從管線取得輸入。
大多數工作流通用參數都有 PS 前置綴,如 PSComputerName 和 PSCredential。 PS 前置詞參數會設定目標計算機的連線和執行環境,也稱為「遠端節點」。
許多工作流通用參數(如 PSAllowRedirection 和 AsJob)的名稱類似於 Windows PowerShell 遠端處理和後台作業中使用的參數。 這些參數的運作方式與類似命名的遠端處理和作業參數相同,因此您可以使用您在遠端處理和作業中開發的知識來管理工作流程。
工作流程是在 Windows PowerShell 3.0 中引進的。
參數描述
本節描述工作流程的一般參數。
-AsJob <SwitchParameter>
以工作流程作業的形式執行工作流程。 工作流程命令會立即傳回代表父作業的物件。 父作業包含在每個目標計算機上執行的子作業。 若要管理作業,請使用作業 Cmdlet。 若要取得作業結果,請使用 Receive-Job。
-JobName <字串>
指定工作流程作業的易記名稱。 默認情況下,作業命名為 「Job<n>」,其中 <n> 是序號。
如果您在工作流命令中使用 JobName 參數,則工作流將作為作業運行,並且工作流命令將返回作業物件,即使您在命令中不包含該 AsJob 參數也是如此。
如需 Windows PowerShell 背景工作的詳細資訊,請參閱 about_Jobs。
-PSAllowRedirection <SwitchParameter>
允許將連線重新導向至目標計算機。
當您使用該 PSConnectionURI 參數時,遠端目標可以返回重定向到其他 URI 的指令。 默認情況下,Windows PowerShell 不會重定向連接,但你可以使用該 PSAllowRedirection 參數來允許將連接重定向到目標計算機。
您還可以透過設置 MaximumConnectionRedirectionCount preference 變數的屬性 $PSSessionOption 或 MaximumConnectionRedirectionCount 的值的屬性來 PSSessionOption parameter限制重定向連接的次數。 預設值為 5。 有關更多資訊,請參閱參數和 PSSessionOption 的說明。
-PSApplicationName <字串>
指定用來連線到目標電腦之連線 URI 的應用程式名稱區段。 當您未在命令中使用該 ConnectionURI 參數時,使用此參數指定應用程式名稱。
預設值是本機計算機上 $PSSessionApplicationName 喜好設定變數的值。 如果未定義此喜好設定變數,預設值為 WSMAN。 此值適用於大部分使用。 如需詳細資訊,請參閱 about_Preference_Variables。
WinRM 服務會使用應用程式名稱來選取接聽程式以服務連線要求。 此參數的值應與遠端電腦上偵聽器的屬性值 URLPrefix 匹配。
-PSAuthentication <AuthenticationMechanism>
指定連線到目標計算機時,用來驗證使用者認證的機制。
有效值為:
- 預設值
- 基本
- 信譽
- 摘要
- Kerberos (英语)
- 交涉
- NegotiateWithImplicitCredential
預設值為 Default。
有關此參數的值的資訊,請參閱 MSDN 中的枚舉說明 System.Management.Automation.Runspaces.AuthenticationMechanism 。
警告
認證安全性服務提供者 (CredSSP) 驗證,其中使用者認證會傳遞至要驗證的遠端電腦,其設計目的是需要對多個資源進行驗證的命令,例如存取遠端網路共用。 此機制會增加遠端作業的安全性風險。 如果遠端電腦遭到入侵,傳遞給它的認證可用來控制網路會話。
-PSAuthenticationLevel AuthenticationLevel <>
指定目標計算機的連線驗證層級。 預設值為 Default。
有效值為:
| 名稱 | 說明 |
|---|---|
| 不變 | 驗證層級與上一個命令相同。 |
| 預設值 | Windows 驗證。 |
| 沒有 | 沒有 COM 驗證。 |
| [連接] | 線上層級 COM 驗證。 |
| 呼叫 | 呼叫層級 COM 驗證。 |
| 包 | 封包層級 COM 驗證。 |
| 數據包完整性 | 封包完整性層級 COM 驗證。 |
| 數據包隱私 | 封包隱私權層級 COM 驗證。 |
-PSCertificateThumbprint <字串>
指定具有執行此動作許可權之用戶帳戶的數位公鑰憑證 (X509)。 輸入憑證的指紋。
憑證用於客戶端憑證型驗證。 它們只能對應至本機用戶帳戶;它們不適用於網域帳戶。
若要獲取證書,請使用 Windows PowerShell Cert: 驅動器中的 Get-Item 或 [Get-ChildItem] (xref:Microsoft.PowerShell.Management.Get-Childitem) cmdlet。
-PSComputerName <字串>
指定工作流程目標節點的計算機清單。 工作流程中的命令或活動會在使用此參數所指定的計算機上執行。 預設值為本機電腦。
在逗號分隔清單中,輸入一或多部計算機的NETBIOS名稱、IP 位址或完整域名。 若要指定本機計算機,請輸入計算機名稱 「localhost」或點 (.)。
要在參數值 PSComputerName 中包含本地計算機,請使用“以管理員身份運行”選項打開 Windows PowerShell。
如果此命令省略此參數,或是值為 $null 或空字串,則工作流程目標為本機計算機,且不會使用 Windows PowerShell 遠端處理來執行命令。
要在參數值 ComputerName 中使用IP位址,該命令必須包含該 PSCredential 參數。 此外,計算機必須針對 HTTPS 傳輸進行設定,或遠端電腦的 IP 位址必須包含在本機電腦上的 WinRM TrustedHosts 清單中。 有關將計算機名稱添加到 TrustedHosts 清單的說明,請參閱 about_Remote_Troubleshooting 中的“如何將計算機添加到受信任的主機清單”。
-PSConfigurationName <字串>
指定用來在目標計算機上設定會話的會話組態。 在目標計算機上輸入會話組態(而非工作流程伺服器計算機)。 預設值為 Microsoft.PowerShell.Workflow。
-PSConnectionRetryCount <UInt>
指定第一次連線嘗試失敗時,連線到每個目標計算機的嘗試次數上限。 輸入一個介於 1 和 4,294,967,295 之間的數位 (UInt.MaxValue)。 預設值零 (0) 表示沒有重試嘗試。
-PSConnectionRetryIntervalSec <UInt>
指定連線重試嘗試之間的延遲,以秒為單位。 預設值為零 (0)。 僅當 PSConnectionRetryCount 的值至少為 1 時,此參數才有效。
-PSConnectionURI <System.Uri>
指定統一資源識別碼 (URI),定義目標計算機上的工作流程連線端點。 URI 必須完整限定。
此字串格式如下所示:
<Transport>://<ComputerName>:<Port>/<ApplicationName>
預設值是 https://localhost:5985/WSMAN。
如果未指定 ,PSConnectionURI則可以使用PSUseSSL、 、 和 PSComputerNamePSPortPSApplicationName參數來指定PSConnectionURI值。
URI 傳輸區段的有效值為 HTTP 和 HTTPS。 如果您指定具有傳輸區段的連線 URI,但未指定埠,則會使用標準埠建立會話:80 代表 HTTP,而 HTTPS 則為 443。 若要使用 Windows PowerShell 遠端的預設埠,請針對 HTTP 指定埠 5985,或針對 HTTPS 指定埠 5986。
-PSCredential <PSCredential>
指定有權在目標計算機上執行工作流程的用戶帳戶。 預設值為目前的使用者。 僅當命令中包含 PSComputerName 參數時,此參數才有效。
鍵入使用者名(如“User01”或“Domain01\User01”),或輸入包含 PSCredential 物件的變數(如 cmdlet 返回的物件 Get-Credential )。 如果您只輸入使用者名稱,系統會提示您輸入密碼。
-PSElapsedTimeoutSec <UInt32>
決定工作流程和所有相關資源在系統中維護的時間長度。 當逾時到期時,即使工作流程仍在處理,也會刪除工作流程。 輸入介於 10 到 4,294,967,295 之間的值。 預設值 0 (零) 表示沒有經過的超時。
-PSParameterCollection <哈希表[]>
為不同的目標計算機指定不同的工作流程通用參數值。
輸入以逗號分隔的哈希表清單,其中每個目標計算機都有一個哈希表。 在每個哈希表中,第一個鍵是 PSComputerName ,其值是目標計算機的名稱。 計算機名稱中允許通配符。 對於哈希表中的其餘索引鍵,索引鍵是參數名稱,而值是參數值。
例如:
-PSParameterCollection @{PSComputerName="*"; PSElapsedTimeoutSec=20},
@{PSComputerName="Server02"},
@{PSComputerName="Server03"},
@{PSComputerName="Server01"; PSElapsedTimeoutSec=10}
在上面的示例中,所有連接的預設 PSElapsedTimeoutSec 為 20 秒,但 Server01 除外,它通過指定自己的 10 秒超時來替代預設值。
-PSPersist <布爾值>
除了工作流程中指定的任何檢查點之外,也會將檢查點新增至工作流程。
此參數無法禁止顯示工作流中的檢查點,例如使用 PSPersist activity common 參數、 Checkpoint-Workflow 活動或 $PSPersistPreference 變數指定的檢查點。
「檢查點」或「持續性點」是工作流程狀態的快照集,以及工作流程執行時所擷取的數據,並儲存至磁碟或 SQL 資料庫中的持續性存放區。 Windows PowerShell 工作流程會使用已儲存的數據,從最後一個持續性點繼續暫停或中斷的工作流程,而不是重新啟動工作流程。
有效值:
(預設)如果省略此參數,則除了在工作流中指定的任何檢查點之外,還會在工作流的開頭和結尾添加一個檢查點。
$True。 除了工作流程中指定的任何檢查點之外,將檢查點新增至工作流程的開頭和結尾,以及每個活動之後的檢查點。$False。 未新增檢查點。 只有在工作流程中指定時,才會採取檢查點。
-PSPort <Int32>
指定目標電腦上的網路埠。 默認埠為 5985(適用於 HTTP 的 WinRM 連接埠)和 5986(適用於 HTTPS 的 WinRM 連接埠)。
除非必須,否則不要使用 PSPort 參數。 命令中設定的埠會套用至執行命令的所有電腦或會話。 替代埠設定可能會防止命令在所有計算機上執行。 使用替代埠之前,您必須在遠端電腦上設定 WinRM 接聽程式,以在該埠接聽。
-PSPrivateMetadata <哈希表>
提供工作流程作業的自定義資訊。 輸入哈希表。 每個工作流程都會自定義索引鍵和值。 如需工作流程私人元數據的相關信息,請參閱工作流程的說明主題。
Windows PowerShell 工作流程引擎不會處理此參數。 相反地,引擎會將哈希表直接傳遞至工作流程。
-PSRunningTimeoutSec <UInt32>
指定工作流程的運行時間,以秒為單位,排除工作流程暫停的任何時間。 如果工作流程執行在時間到期時未完成,Windows PowerShell 工作流程引擎會強制停止工作流程的執行。
-PSSessionOption <PSSessionOption>
將會話的進階選項設定為目標計算機。 輸入物件 PSSessionOption ,例如使用 New-PSSessionOption cmdlet 創建的物件。
如果已設定,會話選項的 $PSSessionOption 預設值取決於喜好設定變數的值。 否則,會話會使用會話組態中指定的值。
有關會話選項的說明(包括預設值),請參閱 cmdlet 的 New-PSSessionOption 幫助主題 (xref:Microsoft.PowerShell.Core.New-PSSessionOption)。 如需 $PSSessionOption 喜好設定變數的相關信息,請參閱 about_Preference_Variables。
-PSUseSSL <SwitchParameter>
使用安全套接字層 (SSL) 通訊協定來建立目標電腦的連線。 根據預設,不會使用 SSL。
WS-Management 會加密透過網路傳輸的所有 Windows PowerShell 內容。 UseSSL 是一種額外的保護,它通過 HTTPS 而不是 HTTP 發送數據。 如果您使用此參數,但在用於命令的埠上無法使用 SSL,則命令會失敗。