Creación de un flujo de trabajo mediante un script de Windows PowerShell

Puede crear un flujo de trabajo escribiendo un script de Windows PowerShell. Para crear un flujo de trabajo, use la palabra clave workflow seguida de un nombre para el flujo de trabajo antes del cuerpo del script. Por ejemplo:


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

Encontrará el flujo de trabajo de la misma manera que cualquier otro comando Windows PowerShell.

Implementación de parallel y sequence

Windows Workflow Foundation admite la ejecución de actividades en paralelo. Para implementar esta funcionalidad en un script de Windows PowerShell, use la parallel palabra clave delante de un bloque de scripts. También puede usar la foreach -parallel construcción para recorrer en iteración una colección de objetos en paralelo. Para ejecutar un grupo de actividades en orden secuencial dentro de un bloque paralelo, incluya ese grupo de actividades en un bloque de script y preceda al bloque con la palabra clave sequence.

Unión de equipos a un dominio

El siguiente script crea un flujo de trabajo que comprueba el estado de dominio de un grupo de equipos especificados por el usuario, los une a un dominio si aún no están unidos y, a continuación, vuelve a comprobar el estado. Se trata de una versión de script del flujo de trabajo XAML que se explica en Creación de un flujo de trabajo con Windows PowerShell Actividades.

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
        }
    }
}