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
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.
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
Adicione uma atividade de sequência ao fluxo de trabalho.
Crie um argumento nomeado
ComputerName
com um tipo de argumento deString[]
. Esse argumento representa os nomes dos computadores para verificar e ingressar.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.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.Adicione uma atividade ParallelForEach dentro da atividade Sequence . Insira
comp
eComputerName
nas caixas de texto para que o loop itera pelos elementos daComputerName
matriz.Adicione uma atividade sequence ao corpo da atividade ParallelForEach . Defina a propriedade DisplayName da sequência como
JoinDomain
.Adicione uma atividade GetWmiObject à sequência JoinDomain .
Edite as propriedades da atividade GetWmiObject da seguinte maneira.
Propriedade Valor Classe "Win32_ComputerSystem" PSComputerName {comp} PSCredential MachineCred Adicione uma atividade AddComputer à sequência JoinDomain após a atividade GetWmiObject .
Edite as propriedades da atividade AddComputer da seguinte maneira.
Propriedade Valor ComputerName {comp} DomainCredential DomainCred Adicione uma atividade RestartComputer à sequência JoinDomain após a atividade AddComputer .
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 {""} 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.