Criar um fluxo de trabalho com atividades do Windows PowerShell

Você pode criar um fluxo de trabalho Windows PowerShell selecionando atividades da Caixa de Ferramentas do Visual Studio e arrastando-as para a janela Designer de Fluxo de Trabalho. Para obter informações sobre como adicionar atividades de Windows PowerShell à Caixa de Ferramentas do Visual Studio, consulte Adicionando atividades de Windows PowerShell à caixa de ferramentas do Visual Studio.

Os procedimentos a seguir descrevem como criar um fluxo de trabalho que verifica o status de domínio de um grupo de computadores especificados pelo usuário, ingressa-os em um domínio se eles ainda não estiverem ingressados e, em seguida, verifica o status novamente.

Configurando o Projeto

  1. Siga o procedimento em Adicionar atividades de Windows PowerShell à Caixa de Ferramentas do Visual Studio para criar um projeto de fluxo de trabalho e adicionar as atividades dos assemblies Microsoft.Powershell.Activities e Microsoft.Powershell.Management.Activities à caixa de ferramentas.

  2. Adicione System.Management.Automation, Microsoft.PowerShell.Activities, System.Management, Microsoft.PowerShell.Management.Activities e Microsoft.PowerShell.Commands.Management quanto ao projeto como assemblies de referência.

Adicionando atividades ao fluxo de trabalho

  1. Adicione uma atividade de sequência ao fluxo de trabalho.

  2. Crie um argumento nomeado ComputerName com um tipo de argumento de String[]. Esse argumento representa os nomes dos computadores para verificar e ingressar.

  3. Crie um argumento nomeado DomainCred do tipo System.Management.Automation.PSCredential. Esse argumento representa as credenciais de domínio de uma conta de domínio autorizada a ingressar um computador no domínio.

  4. Crie um argumento nomeado MachineCred do tipo System.Management.Automation.PSCredential. Esse argumento representa as credenciais de um administrador nos computadores para verificar e ingressar.

  5. Adicione uma atividade ParallelForEach dentro da atividade Sequence . Insira comp e ComputerName nas caixas de texto para que o loop itera pelos elementos da ComputerName matriz.

  6. Adicione uma atividade sequence ao corpo da atividade ParallelForEach . Defina a propriedade DisplayName da sequência como JoinDomain.

  7. Adicione uma atividade GetWmiObject à sequência JoinDomain .

  8. Edite as propriedades da atividade GetWmiObject da seguinte maneira.

    Propriedade Valor
    Classe "Win32_ComputerSystem"
    PSComputerName {comp}
    PSCredential MachineCred
  9. Adicione uma atividade AddComputer à sequência JoinDomain após a atividade GetWmiObject .

  10. Edite as propriedades da atividade AddComputer da seguinte maneira.

    Propriedade Valor
    ComputerName {comp}
    DomainCredential DomainCred
  11. Adicione uma atividade RestartComputer à sequência JoinDomain após a atividade AddComputer .

  12. Edite as propriedades da atividade RestartComputer da seguinte maneira.

    Propriedade Valor
    ComputerName {comp}
    Credencial MachineCred
    Para Microsoft.PowerShell.Commands.WaitForServiceTypes.PowerShell
    Force True
    Aguarde True
    PSComputerName {""}
  13. Adicione uma atividade GetWmiObject à sequência JoinDomain após a atividade RestartComputer . Edite suas propriedades para serem as mesmas da atividade GetWmiObject anterior.

    Quando você tiver terminado os procedimentos, a janela de design do fluxo de trabalho deverá ter esta aparência.

    JoinDomain XAML no designer de fluxo de trabalho JoinDomain XAML no designer de fluxo de trabalho