Skapa ett arbetsflöde med hjälp av ett Windows PowerShell-skript

Du kan skapa ett arbetsflöde genom att skriva ett Windows PowerShell skript. Om du vill skapa ett arbetsflöde använder du nyckelordet arbetsflöde följt av ett namn för arbetsflödet före brödtexten i skriptet. Exempel:


workflow Invoke-HelloWorld {"Hello World from workflow"}

Du hittar arbetsflödet på samma sätt som andra Windows PowerShell kommando.

Implementera parallell och sekvens

Windows Workflow Foundation stöder körning av aktiviteter parallellt. Om du vill implementera den här funktionen i ett Windows PowerShell skript använder du nyckelordet parallel framför ett skriptblock. Du kan också använda konstruktionen foreach -parallel för att iterera genom en samling objekt parallellt. Om du vill köra en grupp aktiviteter i sekventiell ordning i ett parallellt block omger du den gruppen med aktiviteter i ett skriptblock och föregår blocket med sekvensnyckelordet.

Ansluta datorer till en domän

Följande skript skapar ett arbetsflöde som kontrollerar domänstatusen för en grupp användardefinierade datorer, ansluter dem till en domän om de inte redan är anslutna och kontrollerar sedan statusen igen. Det här är en skriptversion av XAML-arbetsflödet som förklaras i Skapa ett arbetsflöde med Windows PowerShell-aktiviteter.

workflow Join-Domain
{
    param([string[]] $ComputerName, [PSCredential] $DomainCred, [PsCredential] $MachineCred)

    foreach -parallel($Computer in $ComputerName)
    {
        sequence {
        Get-WmiObject -PSComputerName $Computer -PSCredential $MachineCred
        Add-Computer -PSComputerName $Computer -PSCredential $DomainCred
        Restart-Computer -ComputerName $Computer -Credential $MachineCred -For PowerShell -Force -Wait -PSComputerName ""
        Get-WmiObject -PSComputerName $Computer -PSCredential $MachineCred
        }
    }
}