Поделиться через


Создание рабочего процесса с помощью сценария Windows PowerShell

Рабочий процесс можно создать, написав скрипт Windows PowerShell. Чтобы создать рабочий процесс, используйте ключевое слово рабочего процесса, за которым следует имя рабочего процесса перед текстом скрипта. Пример:


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

Рабочий процесс можно найти так же, как и любая другая команда Windows PowerShell.

Реализация параллельной и последовательности

Windows Workflow Foundation поддерживает параллельное выполнение действий. Чтобы реализовать эту возможность в скрипте Windows PowerShell, используйте parallel ключевое слово перед блоком скрипта. Вы также можете использовать конструкцию foreach -parallel для параллельной итерации по коллекции объектов. Чтобы выполнить группу действий в последовательном порядке в параллельном блоке, заключите группу действий в блок скрипта и предшествуйте блоку ключевым словом последовательности.

Присоединение компьютеров к домену

Следующий скрипт создает рабочий процесс, который проверяет состояние домена группы компьютеров, указанных пользователем, присоединяет их к домену, если они еще не присоединены, а затем снова проверяет состояние. Это версия сценария рабочего процесса XAML, описанная в разделе "Создание рабочего процесса с Windows PowerShell действий".

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