Partilhar via


Problemas de Pacotes de Gestão

 

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 problemas que são específicos a pacotes de gestão e módulos.

ExecuteCommand não Suporta Operadores de Pipeline ou Aliases

Quando utiliza um alias ou um operador de pipeline com o parâmetro ExecuteCommand, o comando falha. O parâmetro ExecuteCommand não suporta o operador de pipeline, aliases e sintaxe específica de shell.

Nos pacotes de gestão do System Center Operations Manager que foram concebidos para gerir computadores UNIX e Linux, o parâmetro ExecuteCommand não inicia um processo de shell, provocando uma falha na ação personalizada.

Para cada um dos seguintes tipos de ação personalizada, deve especificar a forma como os argumentos do comando são invocados utilizando o parâmetro ExecuteCommand ou o parâmetro 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 da linha de comandos para a consola sem iniciar um processo de shell.

O parâmetro ExecuteShellCommand passa os argumentos de comando para um processo de shell utilizando a shell predefinida do utilizador; esta shell suporta pipeline, aliases e sintaxe específica de shell.

Nota

O parâmetro ExecuteShellCommand utiliza a shell predefinida do utilizador que está a executar o comando. Se necessitar de uma shell específica, utilize o parâmetro ExecuteCommand e coloque o prefixo dos argumentos de comando com a shell necessária.

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

  • Para passar os argumentos da linha de comandos para a consola 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 da linha de comandos para um processo de shell que referencia uma shell explícita:

    <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 para um processo de shell que utiliza a shell predefinida do utilizador:

    <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>