PowerShell-Aktivitäten erstellen

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 3 Minuten Lesedauer
  • Erstellen Sie eine benutzerdefinierte PowerShell-Aktivität, die Daten von einem Host mittels Microsoft PowerShell an einen Workflow zurückgibt.

    Vorbereitungen

    Erforderliche Rolle: activity_creator oder workflow_admin

    Warum und wann dieser Vorgang ausgeführt wird

    ServiceNow unterstützt PowerShell 3.0 bis 5.1.

    Prozedur

    1. Erstellen Sie eine benutzerdefinierte Aktivität.
      Diese Aktion erstellt eine benutzerdefinierte Aktivität mithilfe einer Vorlage.
    2. Nach dem Einrichten allgemeiner Eigenschaften und dem Erstellen von Eingabevariablenkonfigurieren Sie den PowerShell-Ausführungsbefehl.
      OptionBezeichnung
      Ordnen Sie die Eingabevariablen zu Verwenden Sie die von Ihnen erstellten Variablen, um den Befehl zu konfigurieren, den Orchestration beim JDBC-Ziel ausführt.
      Zielhost Hostname oder IP-Adresse des Zielservers für diese PowerShell-Aktivität
      Skripttyp Typ des PowerShell-Skripts, das auf dem PowerShell-Host ausgeführt werden soll. Verfügbare Optionen sind:
      • Benutzerdefinierter PowerShell-Befehl
      • MID Server-Skriptdatei
      MID Server-Skriptdatei Die MID-Server-Skriptdatei enthält die PowerShell-Skripts. Dieses Feld ist verfügbar, wenn der Skripttyp „MID-Server-Skriptdatei“ ausgewählt ist.
      Befehl PowerShell-Befehl, den die Aktivität ausführt. Dieses Feld ist verfügbar, wenn der Skripttyp Benutzerdefinierter PowerShell-Befehl ausgewählt ist. Sie können Eingabevariablen aus dem Variablen-Generator in dieses Feld ziehen, um Ihren Befehl zu erstellen.
      PowerShell-Variablen Name-Wert-Paare, die mit PowerShell an den Host übergeben werden sollen. Sie können diese Variablen manuell erstellen oder Eingabevariablen in das Feld Wert ziehen. Verschlüsselte Eingabevariablen behalten ihre Verschlüsselung bei, unabhängig von den Datentypeinstellungen in diesem Feld. Wenn Sie einen Wert eingeben und den Datentyp Verschlüsselt auswählen, wird der Wert in diesem Feld in Klartext angezeigt. Er wird erst verschlüsselt, wenn er an die ECC-Warteschlange übergeben wird.
      MID-Serviceaccount verwenden Wenn diese Checkbox aktiviert ist, wird diese Aktivität auf dem Zielhost nur mit den Anmeldeinformationen des MID-Server-Serviceaccount authentifiziert, ohne dass andere Anmeldeinformationen verwendet werden.
      Hinweis:
      Das Feld Anmelde-Tag ist nicht verfügbar.
      Anmelde-Tag Anmelde-Tag, das diese Aktivität verwenden muss, um PowerShell-Befehle auf dem Host auszuführen. Wenn dieses Feld leer bleibt, probiert der MID Server alle verfügbaren Anmeldeinformationen aus, bis gültige gefunden werden. Zum Schluss wird der MID Server-Serviceaccount ausprobiert. Wenn ein Anmelde-Tag definiert ist, verwendet der MID-Server nur die mit diesem Tag angegebenen Anmeldeinformationen und probiert den MID-Server-Serviceaccount nicht aus.
      Hinweis:
      Dieses Feld ist nicht verfügbar, wenn die Checkbox MID-Serviceaccount verwenden aktiviert ist.
      Erforderliche MID-Server-Fähigkeiten MID Server zum Abfragen von PowerShell nach Fähigkeiten. Standardmäßig wählt das System einen PowerShell-MID-Server aus.
      Hinweis:
      Sie können Parameterwerte in einem Test-Payload Variablen auf der Registerkarte Ausgaben automatisch zuordnen. Siehe Ausgabevariablen automatisch zuordnen.

    Nächste Maßnahme

    Beenden Sie die Erstellung Ihrer PowerShell-Aktivität, indem Sie Ausgabevariablen, Analyseregelnoder Bedingungenerstellen. Im Thema Benutzerdefinierte Aktivitäten erstellen finden Sie Informationen zu den Vorlagenoptionen.

    Ausführungsparameter für PowerShell-Vorlagen

    Sie verwenden Ausführungsparameter, um das Eingabeprozessskript im Formular Vorverarbeitung des Aktivitätendesigners zu erstellen.

    Beschreibungen der PowerShell-Befehlsfelder finden Sie in der Tabelle unter PowerShell-Ausführungsbefehle konfigurieren.
    Hinweis:
    Sie müssen das Präfix executionParam. mit allen Variablen in dieser Tabelle verwenden.
    Tabelle : 1. PowerShell-Ausführungsparameter
    Name Variable Typ Verwendung
    Quelle source Zeichenfolge Zielhost, auf dem der Befehl ausgeführt werden soll
    Skripttyp script_type Aufzählung Typ des auszuführenden Skripts. Mögliche Typen sind:
    • command: Benutzerdefinierter PowerShell-Befehl
    • file: Gibt die MID-Server-Skriptdatei an, die ausgeführt werden soll
    Befehl command Zeichenfolge Befehl, der an den MID Server gesendet wird, damit dieser auf dem Zielhost ausgeführt werden kann
    MidScriptFile midScriptFile Referenz sys_id-Referenz der MID-Server-Skriptdatei, die ausgeführt werden soll, wenn script_type file ist
    PowershellVariables powershellVariables Hashmap-Array Hashmap von JavaScript-Objekten mit name, value und type für jedes Objekt. Der type der Objekte kann plain, encrypted, boolean oder null sein, entsprechend der auf der Registerkarte „Eingaben“ ausgewählten PowerShell-Variable type. Zum Beispiel könnten Sie Folgendes eingeben:
    var newParameter = {"name":"parameterName","value":"parameterValue", "type": "plain" };
    executionParam.powershellVariables.push(newParameter);
    Anmelde-Tag credential_tag Zeichenfolge Spezifisches Anmelde-Tag, das diese Aktivität verwenden muss, um PowerShell-Befehle auf dem Host auszuführen.
    MidCapabilities midCapabilities Zeichenfolge (durch Kommas getrennt) Liste der erforderlichen MID Server-Fähigkeiten
    ValueCapabilities valueCapabilities Hashmap-Array Fähigkeitswerte zur Auswahl des MID Servers. Weitere Informationen finden Sie unter MID Server-Fähigkeiten. Verwenden Sie dieses Beispiel, um die Auswahl des MID Servers anzupassen, wenn zusätzliche Fähigkeiten nach Wert zugewiesen werden:
    var valueCapability = {'NEW_MID_CAPABIILTY':'NEW_MID_CAPABILITY_VALUE'};
    executionParam.valueCapabilities.push(valueCapability);

    PowerShell-Nachverarbeitungsparameter und Payload-Analyse

    Verwenden Sie diese Parameter, um ein Nachverarbeitungsskript und eine Payload-Analyse zu erstellen sowie ein Tagging vorzunehmen.

    Tabelle : 2. PowerShell-Nachverarbeitungsparameter
    Name Variable Typ Verwendung
    Tags tags Hashmap der Tag-Werte, die vom PowerShell-Befehl zurückgegeben werden sollen. Enthält die Tags, die zum Extrahieren der Ausgabe mithilfe der PowerShell-Befehle verwendet werden. Die Tag-Ausgabe wird durch doppelte Prozentzeichen begrenzt, wie z. B. %%tagname%% … %%. Geben Sie den Befehl in dem Format in diesem Beispiel an:
    Write-Host %%tagname1%%
    output1 line 1
    output1 line 2
    …
    Write-Host%%
    
    Write-Host %%tagname2%%
    output2 line 1
    output2 line 2
    …
    Write-Host%%

    Die zurückgegebenen Tags sind JavaScript-Hashmap-Objekte, wobei jeder Key mit dem Präfix tag beginnt und mit dem Tag-Namen endet.

    {"__text__": "", 
    "tagtagname1":"output1 line1\noutput1 line2\n", 
    "tagtagname2":"output2 line1\noutput2 line2\n"}
    Hresult hresult Zeichenfolge Enthält alle hresult-Werte, die vom PowerShell-Befehl zurückgegeben wurden. Wenn kein hresult zurückgegeben wird, ist dieser Parameter null.
    Ausgabe Ausgabe Zeichenfolge Enthält die Rohausgabe des PowerShell-Befehls
    EccSysID eccSysID Zeichenfolge Enthält die Referenz-ID, die der von der Aktivität zurückgegebenen Eingabenachricht der ECC-Warteschlange zugeordnet ist
    ErrorMessages errorMessages Zeichenfolge Enthält alle Fehlermeldungen, die vom PowerShell-Befehl abgerufen werden. Dieser Wert ist null, wenn keine Fehlermeldungen vorhanden sind.