Compartilhar via


Problemas do pacote de gerenciamento

 

Publicado: março de 2016

Aplica-se a: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

Este tópico descreve os problemas específicos para pacotes de gerenciamento e módulos.

ExecuteCommand não oferece suporte a operadores de pipeline ou aliases

Quando você usa um alias ou um operador de pipeline com o parâmetro ExecuteCommand, o comando falha. O parâmetro ExecuteCommand não oferece suporte ao operador de pipeline, a aliases e à sintaxe específica de shell.

Nos pacotes de gerenciamento projetados para gerenciar computadores UNIX e Linux do System Center Operations Manager, o parâmetro ExecuteCommand não inicia um processo de shell, causando a falha da ação personalizada.

Para cada um dos seguintes tipos de ações personalizadas, você especifica como os argumentos de comando são invocados usando os parâmetros ExecuteCommand ou ExecuteShellCommand:

  • Microsoft.Unix.WSMan.Invoke.ProbeAction

  • Microsoft.Unix.WSMan.Invoke.WriteAction

  • Microsoft.Unix.WSMan.Invoke.Privileged.ProbeAction

  • Microsoft.Unix.WSMan.Invoke.Privileged.WriteAction

O parâmetro ExecuteCommand passa os argumentos de linha de comando ao console sem iniciar um processo de shell.

O parâmetro ExecuteShellCommand passa os argumentos de comando a um processo de shell usando o shell padrão do usuário; esse shell oferece suporte ao pipeline, a aliases e à sintaxe específica de shell.

System_CAPS_noteObservação

O parâmetro ExecuteShellCommand usa o shell padrão do usuário que está executando o comando. Se você precisar de um shell específico, use o parâmetro ExecuteCommand e coloque o shell necessário como prefixo dos argumentos de comando.

Os seguintes exemplos mostram como usar os parâmetros ExecuteCommand e ExecuteShellCommand:

  • Para passar os argumentos de linha de comando ao console sem iniciar um processo de shell:

    <p:ExecuteCommand_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem"> <p:Command> service syslog status </p:Command> <p:timeout>10</p:timeout> </p:ExecuteCommand_INPUT>

  • Para passar os argumentos de linha de comando a um processo de shell que referencia um shell explícito:

    <p:ExecuteCommand_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem"> <p:Command> /bin/sh ps -ef syslog | grep -v grep </p:Command> <p:timeout>10</p:timeout> </p:ExecuteCommand_INPUT>

  • Para passar os argumentos de comando a um processo de shell que usa o shell padrão do usuário:

    <p:ExecuteShellCommand_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem"> <p:Command> uptime |  awk '{print $10}' |awk -F"," '{print $1}' </p:Command> <p:timeout>10</p:timeout> </p:ExecuteShellCommand_INPUT>