Atividades do PowerShell

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 4 min. de leitura
  • O PowerShell foi criado no Windows .NET Framework e foi projetado para controlar e automatizar a administração de máquinas e aplicações Windows.

    O PowerShell deve ser instalado em qualquer MID Server que use essas atividades. Os MID Servers que usam o PowerShell devem ser instalados em um sistema operacional compatível com Windows. ServiceNow é compatível com o PowerShell 3.0 ao 5.1.

    O plug-in ServiceNow Orquestração adiciona essas atividades básicas do PowerShell aos fluxos de trabalho. Para obter instruções sobre como usar atividades do pacote de atividades do PowerShell, consulte Pacote de atividade do PowerShell

    Atividade de Execução de Legado do PowerShell

    A atividade Executar PowerShell executa comandos do PowerShell do Windows em um MID Server.

    Importante:
    Esta atividade foi descontinuada e não está disponível para novos fluxos de trabalho. Para substituir a funcionalidade desta atividade, use o modelo de atividade do Powershell para criar uma atividade com escopo personalizado. Fluxos de trabalho de uma versão anterior que usam a atividade Run PowerShell podem continuar a fazer isso.

    Valores de resultado

    O designer de fluxo de trabalho pode atribuir um valor de resultado usando activity.result de dentro de um campo de script da atividade. Por padrão, o sucesso ou a falha dos comandos do PowerShell usados determina o valor do resultado da atividade Executar PowerShell. Os valores de resultado possíveis são:
    • Êxito
    • Falha

    Entradas do Bloco de anotações

    As informações gravadas em stdout pelo script em execução são capturadas e retornadas para a atividade na variável activity.output. Essas informações podem ser analisadas, processadas ou salvas (em uma variável do bloco de anotações, por exemplo) para processamento futuro no script do sensor da atividade.

    Um exemplo seria executar o comando get-date para obter a hora atual do MID Server. Este script de sensor salva a saída completa recebida, mas podemos processá-la para retornar e salvar somente o tempo.
    Figura 1. Atividade PowerShell
    Atividade PowerShell
    Nota:
    Este é um exemplo simplificado demais. Na maioria dos casos, o script opera em algum computador remoto Windows. No entanto, o principal é o mesmo - tudo o que é gravado em stdout é retornado em activity.output e fica disponível para processamento.

    Variáveis de entrada

    Tabela 1. Variáveis de entrada
    Campo Descrição
    Nome do host Endereço IP da máquina Windows de destino. Este valor é mapeado para a variável $computer para uso em comandos (consulte o exemplo no campo Comando ). Uma variável de credencial do PowerShell chamada $cred que se baseia nas informações da tabela ServiceNow Credenciais será autenticada no computador apontado por Hostname.
    Comando Insira o comando do PowerShell a ser executado. Por exemplo, para executar uma consulta de WMI simples em uma máquina remota apontada pela variável hostname, o comando é:
    get-wmiobject <class> -computer $computer -credential $cred

    Se nenhuma credencial for autenticada no computador, o comando será executado no contexto do usuário do MID Server.

    Você não pode executar um comando e um arquivo de script. Especificar um comando oculta a variável do arquivo de script.

    Script do sensor O script a ser executado usando os resultados da probe. A saída da probe está contida em uma variável chamada saída. Qualquer erro do probe está contido em uma variável chamada erro.
    Arquivo de script O Habilitar sincronização de arquivo de script para Windows segurança aprimorada. Você não pode executar um arquivo de script e um comando ao mesmo tempo. A seleção de um arquivo de script oculta a variável Command.
    Variáveis de script do PowerShell Parâmetros adicionais, no formato JSON, usados pelo arquivo de script especificado.

    Estados

    O estado da atividade diz ao mecanismo de fluxo de trabalho o que fazer com a atividade.
    Tabela 2. Estados
    Estado Descrição
    Executando O mecanismo de fluxo de trabalho sabe iniciar a função onExecute da atividade.
    Terminado A execução da atividade foi concluída. Veja o valor do resultado para o resultado da atividade.
    Cancelado Esta atividade ou o fluxo de trabalho que contém esta atividade foi cancelado.
    Adicione variáveis de fluxo de trabalho para a linha de comando usando a sintaxe de variável de fluxo de trabalho normal. No exemplo acima, se <class> estava em uma variável de entrada de fluxo de trabalho chamada myclass, o comando seria semelhante a:
    get-wmiobject $ {workflow. inputs. myclass } -computer $computer –credential $cred
    Similarly  if the variable  is a scratchpad variable named myclass , the command would look like :
    get -wmiobject $ {workflow. scratchpad. myclass } -computer $computer –credential $cred

    Códigos HResult

    Quando um script do PowerShell encontra um erro, a máquina do Windows pode retornar um código de HResult como parte da mensagem de erro.

    As atividades do PowerShell podem ler e interpretar este código. Nem todos os erros do PowerShell incluem um código HResult. Em caso de falha no script do PowerShell, você pode usar o código HResult para mover o fluxo de trabalho por meio de uma condição específica.

    Por exemplo, ao redefinir uma senha do Active Directory para uma senha que não atende aos requisitos de política, como tamanho mínimo ou complexidade, o script do PowerShell retorna o código HResult -2146022651. Para usar este código, crie uma condição de atividade com o valor de condiçãoactivity.hresult = -2146022651. Se o script do PowerShell retornar este código quando a atividade for executada, o fluxo de trabalho passará por essa nova condição.