Problemas de módulos de administración

 

Publicada: marzo de 2016

Se aplica a: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

En este tema se describen los problemas específicos de los distintos módulos y de los módulos de administración.

ExecuteCommand no admite los operadores de canalización o los alias

Cuando se utiliza un alias o un operador de canalización con el parámetro ExecuteCommand, se produce un error en el comando. El parámetro ExecuteCommand no es compatible con el operador de canalización, los alias y la sintaxis específica del shell.

En los módulos de administración de System Center Operations Manager diseñados para administrar los equipos UNIX y Linux, el parámetro ExecuteCommand no inicia un proceso de shell, por lo que se produce un error en la acción personalizada.

Para cada uno de los tipos de acciones personalizadas siguientes, se especifica cómo se invocan los argumentos de comando mediante el parámetro ExecuteCommand o el 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

El parámetro ExecuteCommand pasa los argumentos de línea de comandos a la consola sin iniciar un proceso de shell.

El parámetro ExecuteShellCommand pasa los argumentos de comando a un proceso de shell mediante el shell predeterminado del usuario; este shell es compatible con la canalización, los alias y la sintaxis específica del shell.

Nota

El parámetro ExecuteShellCommand utiliza el shell predeterminado del usuario que ejecuta el comando. Si necesita un shell específico, utilice el parámetro ExecuteCommand y agregue un prefijo con el shell requerido a los argumentos de comando.

Los ejemplos siguientes muestran cómo utilizar los parámetros ExecuteCommand y ExecuteShellCommand:

  • Para pasar los argumentos de línea de comandos a la consola sin iniciar un proceso 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 pasar los argumentos de línea de comandos a un proceso de shell que hace referencia a un 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 pasar los argumentos de comando a un proceso de shell que utiliza el shell predeterminado del usuario:

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