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


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

Вы можете создать рабочий процесс Windows PowerShell, выбрав действия на панели элементов Visual Studio и перетащив их в окно конструктора рабочих процессов. Сведения о добавлении Windows PowerShell действий на панель элементов Visual Studio см. в разделе "Добавление Windows PowerShell действий" на панель элементов Visual Studio.

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

Настройка проекта

  1. Выполните процедуру добавления действий Windows PowerShell на панель элементов Visual Studio, чтобы создать проект рабочего процесса и добавить действия из сборок Microsoft.Powershell.Activities и Microsoft.Powershell.Management.Activities на панель элементов.

  2. Добавьте System.Management.Automation, Microsoft.PowerShell.Activities, System.Management, Microsoft.PowerShell.Management.Activities и Microsoft.PowerShell.Commands.Management в качестве эталонных сборок.

Добавление действий в рабочий процесс

  1. Добавьте действие Sequence в рабочий процесс.

  2. Создайте аргумент с именем ComputerName с типом аргумента String[]. Этот аргумент представляет имена компьютеров для проверки и соединения.

  3. Создайте аргумент с именем DomainCred типа System.Management.Automation.PSCredential. Этот аргумент представляет учетные данные домена учетной записи домена, авторизованной для присоединения компьютера к домену.

  4. Создайте аргумент с именем MachineCred типа System.Management.Automation.PSCredential. Этот аргумент представляет учетные данные администратора на компьютерах для проверки и присоединения.

  5. Добавьте действие ParallelForEach в действие Sequence . Введите comp и ComputerName в текстовые поля, чтобы цикл перебирал элементы массива ComputerName .

  6. Добавьте действие Sequence в тело действия ParallelForEach . Задайте для свойства DisplayName последовательности JoinDomainзначение .

  7. Добавьте действие GetWmiObject в последовательность JoinDomain .

  8. Измените свойства действия GetWmiObject следующим образом.

    Свойство Значение
    Класс "Win32_ComputerSystem"
    PSComputerName {comp}
    PSCredential MachineCred
  9. Добавьте действие AddComputer в последовательность JoinDomain после действия GetWmiObject .

  10. Измените свойства действия AddComputer следующим образом.

    Свойство Значение
    ИмяКомпьютера {comp}
    DomainCredential DomainCred
  11. Добавьте действие RestartComputer в последовательность JoinDomain после действия AddComputer .

  12. Измените свойства действия RestartComputer следующим образом.

    Свойство Значение
    ИмяКомпьютера {comp}
    Учетные данные MachineCred
    Для типа Microsoft.PowerShell.Commands.WaitForServiceTypes.PowerShell
    Force True
    Ожидание True
    PSComputerName {""}
  13. Добавьте действие GetWmiObject в последовательность JoinDomain после действия RestartComputer . Измените его свойства так же, как и предыдущее действие GetWmiObject .

    По завершении процедур окно конструктора рабочих процессов должно выглядеть следующим образом.

    JoinDomain XAML в конструкторе рабочихпроцессов JoinDomain XAML в конструкторе рабочих процессов