about_Sequence
適用於: Windows PowerShell 3.0
主題
about_Sequence
簡短描述
描述 Sequence 關鍵字,其能依序執行所選取的活動。
詳細描述
Sequence 關鍵字會依序執行所選取的工作流程活動,意即其會依照出現的順序執行而非同時執行。Sequence 關鍵字僅在 Windows PowerShell® 工作流程中有效。
Sequence 關鍵字通常用於 Parallel 指令碼區塊,以依序執行所選取的命令。
由於工作流程活動會按照預設依序執行,因此 Sequence 關鍵字只在 Parallel 指令碼區塊中有效。不過,即使沒有任何作用,其在 Parallel 指令碼區塊外依然有效。
Sequence 指令碼區塊透過允許您依序執行相依的命令,讓您能夠以平行方式執行多個命令。
語法
workflow <Verb-Noun>
{
Sequence
{
[<Activity>]
[<Activity>]
...
}
}
workflow <Verb-Noun>
{
Parallel
{
[<Activity>]
Sequence
{
[<Activity>]
[<Activity>]
...
}
}
}
詳細描述
Parallel 指令碼區塊中的命令可以同時執行。其執行順序並未決定。這項功能可改善指令碼工作流程的效能。
即使活動會出現在 Parallel 指令碼區塊中,您也可以使用 Sequence 指令碼區塊來依序執行所選的活動。
Sequence 指令碼區塊中的活動會依照所列的順序一次只執行一個。在上一個活動完成之後,Sequence 指令碼區塊中的下一個活動才會啟動。
不過,當 Sequence 指令碼區塊出現在平行指令碼區塊中時,並不會決定 Sequence 指令碼區塊執行的順序。其可能會在 Parallel 指令碼區塊中其他活動的之前、之後或同時執行。
例如,下列的工作流程包含 Parallel 指令碼區塊,其能執行取得電腦處理序和服務的活動。Parallel 指令碼區塊包含 Sequence 指令碼區塊,其能從檔案取得資訊,並使用該資訊做為指令碼的輸入。
Get-Process、Get-Service 以及 Hotfix 相關的命令彼此獨立,且能夠同時或以任何順序執行,但是必須先執行取得 Hotfix 資訊的命令,才能執行使用該資訊的命令。
workflow Test-Workflow
{
Parallel
{
Get-Process
Get-Service
Sequence
{
$Hotfix = Get-Content D:\HotFixes\Required.txt
Foreach ($h in $Hotfix} {D:\Scripts\Verify-Hotfix -Hotfix $h}
}
}
}
另請參閱
<撰寫指令碼工作流程>(https://go.microsoft.com/fwlink/?LinkID=262872)
about_ForEach
about_ForEach-Parallel
about_Language_Keywords
about_Parallel
about_Workflows