Создание рабочего процесса с помощью действий Windows PowerShell
Вы можете создать рабочий процесс Windows PowerShell, выбрав действия на панели элементов Visual Studio и перетащив их в окно конструктора рабочих процессов. Сведения о добавлении Windows PowerShell действий на панель элементов Visual Studio см. в разделе "Добавление Windows PowerShell действий" на панель элементов Visual Studio.
В следующих процедурах описывается создание рабочего процесса, который проверяет состояние домена группы компьютеров, указанных пользователем, присоединяет их к домену, если они еще не присоединены, а затем снова проверяет состояние.
Настройка проекта
Выполните процедуру добавления действий Windows PowerShell на панель элементов Visual Studio, чтобы создать проект рабочего процесса и добавить действия из сборок Microsoft.Powershell.Activities и Microsoft.Powershell.Management.Activities на панель элементов.
Добавьте System.Management.Automation, Microsoft.PowerShell.Activities, System.Management, Microsoft.PowerShell.Management.Activities и Microsoft.PowerShell.Commands.Management в качестве эталонных сборок.
Добавление действий в рабочий процесс
Добавьте действие Sequence в рабочий процесс.
Создайте аргумент с именем
ComputerName
с типом аргументаString[]
. Этот аргумент представляет имена компьютеров для проверки и соединения.Создайте аргумент с именем
DomainCred
типа System.Management.Automation.PSCredential. Этот аргумент представляет учетные данные домена учетной записи домена, авторизованной для присоединения компьютера к домену.Создайте аргумент с именем
MachineCred
типа System.Management.Automation.PSCredential. Этот аргумент представляет учетные данные администратора на компьютерах для проверки и присоединения.Добавьте действие ParallelForEach в действие Sequence . Введите
comp
иComputerName
в текстовые поля, чтобы цикл перебирал элементы массиваComputerName
.Добавьте действие Sequence в тело действия ParallelForEach . Задайте для свойства DisplayName последовательности
JoinDomain
значение .Добавьте действие GetWmiObject в последовательность JoinDomain .
Измените свойства действия GetWmiObject следующим образом.
Свойство Значение Класс "Win32_ComputerSystem" PSComputerName {comp} PSCredential MachineCred Добавьте действие AddComputer в последовательность JoinDomain после действия GetWmiObject .
Измените свойства действия AddComputer следующим образом.
Свойство Значение ИмяКомпьютера {comp} DomainCredential DomainCred Добавьте действие RestartComputer в последовательность JoinDomain после действия AddComputer .
Измените свойства действия RestartComputer следующим образом.
Свойство Значение ИмяКомпьютера {comp} Учетные данные MachineCred Для типа Microsoft.PowerShell.Commands.WaitForServiceTypes.PowerShell Force True Ожидание True PSComputerName {""} Добавьте действие GetWmiObject в последовательность JoinDomain после действия RestartComputer . Измените его свойства так же, как и предыдущее действие GetWmiObject .
По завершении процедур окно конструктора рабочих процессов должно выглядеть следующим образом.