Delen via


Problemen met management packs

 

Gepubliceerd: maart 2016

Van toepassing op: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

In dit onderwerp worden kwesties besproken die specifiek zijn voor management packs en modules.

ExecuteCommand biedt geen ondersteuning voor pipeline-operators of aliassen

Wanneer u bij de parameter ExecuteCommand een alias of een pipeline-operator gebruikt, mislukt de opdracht. De parameter ExecuteCommand biedt geen ondersteuning voor de pipeline-operator, aliassen en shell-specifieke syntaxis.

In System Center Operations Manager management packs die bedoeld zijn voor het beheren van UNIX- en Linux-computers, start de parameter ExecuteCommand geen shellproces, waardoor de aangepaste actie mislukt.

Voor elk van de volgende typen aangepaste acties geeft u op hoe de opdrachtargumenten worden aangeroepen door gebruik te maken van de parameters ExecuteCommand of ExecuteShellCommand.

  • Microsoft.Unix.WSMan.Invoke.ProbeAction

  • Microsoft.Unix.WSMan.Invoke.WriteAction

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

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

De parameter ExecuteCommand geeft de opdrachtregelargumenten door aan de console zonder een shellproces te starten.

De parameter ExecuteShellCommand geeft de opdrachtregelargumenten door aan een shellproces met behulp van de standaardshell van de gebruiker. Deze shell ondersteunt pipeline, aliassen en shell-specifieke syntaxis.

Notitie

De parameter ExecuteShellCommand gebruikt de standaardshell van de gebruiker die de opdracht uitvoert. Als u een specifieke shell nodig hebt, gebruikt u de parameter ExecuteCommand, en laat u de opdrachtargumenten voorafgaan door de vereiste shell.

Het volgende voorbeeld laat zien hoe de parameters ExecuteCommand en ExecuteShellCommand worden gebruikt:

  • De opdrachtregelargumenten doorgeven aan de console zonder een shellproces te starten:

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

  • De opdrachtregelargumenten doorgeven aan een shellproces dat verwijst naar een expliciete shell:

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

  • De opdrachtargumenten doorgeven aan een shellproces dat gebruikmaakt van de standaardshell van de gebruiker:

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