about_Sequence
Kort beskrivning
Beskriver nyckelordet Sequence
som kör valda aktiviteter sekventiellt.
Lång beskrivning
Nyckelordet Sequence
kör valda arbetsflödesaktiviteter sekventiellt. Arbetsflödesaktiviteter körs i den ordning de visas och körs inte samtidigt. Nyckelordet Sequence
är endast giltigt i ett PowerShell-arbetsflöde.
Nyckelordet Sequence
används i ett Parallel
skriptblock för att köra valda kommandon sekventiellt.
Eftersom arbetsflödesaktiviteter körs sekventiellt som standard gäller nyckelordet Sequence
endast i ett Parallel
skriptblock. Om nyckelordet Sequence
inte ingår i ett Parallel
skriptblock är det giltigt men ineffektivt.
Med Sequence
skriptblocket kan du köra fler kommandon parallellt genom att köra beroende kommandon sekventiellt.
Syntax
Arbetsflöde med sekvens
workflow <Verb-Noun>
{
Sequence
{
[<Activity>]
[<Activity>]
# ...
}
}
Arbetsflöde med parallell och sekvens
workflow <Verb-Noun>
{
Parallel
{
[<Activity>]
Sequence
{
[<Activity>]
[<Activity>]
# ...
}
}
}
Detaljerad beskrivning
Kommandona i ett Parallel
skriptblock kan köras samtidigt. I vilken ordning de körs bestäms inte. Den här funktionen förbättrar prestandan för ett skriptarbetsflöde.
Du kan använda ett Sequence
skriptblock för att köra valda aktiviteter sekventiellt, även om aktiviteterna visas i ett Parallel
skriptblock.
Aktiviteterna i ett Sequence
skriptblock körs i följd i den ordning som de visas. En aktivitet i ett Sequence
skriptblock startar först när den tidigare aktiviteten har slutförts.
Men när skriptblocket Sequence
visas i ett Parallel
skriptblock bestäms inte i vilken ordning skriptblocket Sequence
körs. Den kan köras före, efter eller samtidigt med andra aktiviteter i skriptblocket Parallel
.
Följande arbetsflöde innehåller till exempel ett Parallel
skriptblock som kör aktiviteter som hämtar processer och tjänster på datorn. Skriptblocket Parallel
innehåller ett Sequence
skriptblock som hämtar information från en fil och använder informationen som indata till ett skript.
Kommandona Get-Process
, Get-Service
och snabbkorrigeringar är oberoende av varandra. Kommandona kan köras samtidigt eller i valfri ordning. Kommandot som hämtar snabbkorrigeringsinformationen måste dock köras före kommandot som använder den.
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}
}
}
}