Erstellen Sie eine PowerShell-Aktivität

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 3 Minuten Lesedauer
  • Erstellen Sie eine anwenderdefinierte PowerShell-Aktivität, um Daten von einem Host mit Microsoft PowerShell an einen Workflow zurückzugeben.

    Vorbereitungen

    Erforderliche Rolle: Activity_Creator oder Workflow_admin

    Warum und wann dieser Vorgang ausgeführt wird

    ServiceNowUnterstützt PowerShell 3,0 bis 5,1.

    Prozedur

    1. Erstellen Sie ein Anwenderdefinierte Aktivität .
      Mit dieser Aktion wird eine anwenderdefinierte Aktivität mithilfe einer Vorlage erstellt.
    2. Nach dem Einrichten Allgemeine Eigenschaften Und Eingabevariablen werden erstellt , Konfigurieren 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 auf dem MID-Server ausführt.
      Ziel-Host 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:
      • Anwenderdefinierter PowerShell-Befehl
      • MID-Server-Skriptdatei
      MID-Server-Skriptdatei Die MID-Serverskriptdatei enthält die PowerShell-Skripts. Dieses Feld ist verfügbar, wenn Skripttyp Ausgewählt ist eine MID-Serverskriptdatei.
      Befehl PowerShell-Befehl, den die Aktivität ausführt. Dieses Feld ist verfügbar, wenn Skripttyp Ausgewählt ist Anwenderdefinierter PowerShell-Befehl . Sie können Ihre Befehle erstellen, indem Sie Eingabevariablen per Drag-and-Drop aus dem Variablengenerator in dieses Feld ziehen.
      PowerShell-Variablen Name-Wert-Paare, die mit PowerShell an den Host übergeben werden sollen. Sie können diese Variablen manuell erstellen oder Eingabevariablen in ziehen Wert Feld. Verschlüsselte Eingabevariablen behalten ihre Verschlüsselung unabhängig von den Datentypeinstellungen in diesem Feld bei. Wenn Sie einen Wert eingeben und auswählen Verschlüsselt Datentyp: Ihr Wert wird im nur-Text-Format angezeigt. Sie wird nur verschlüsselt, wenn sie an die ECC-Warteschlange übergeben wird.
      MID-Serviceaccount verwenden Wenn diese Option aktiviert ist, authentifiziert sich diese Aktivität auf dem Zielhost nur mit den Anmeldeinformationen des MID-Server-Service-Accounts, ohne andere Anmeldeinformationen zu versuchen.
      Hinweis:
      Die Anmeldeinformations-Tag Feld ist nicht verfügbar.
      Anmeldeinformations-Tag Anmeldeinformations-Tag, das diese Aktivität verwenden muss, um PowerShell-Befehle auf dem Host auszuführen. Wenn dieses Feld leer gelassen wird, versucht der MID-Server alle verfügbaren Anmeldeinformationen, bis eine gültige gefunden wird, die mit dem MID-Server-Service-Account endet. Wenn ein Anmeldeinformations-Tag definiert ist, versucht der MID-Server nur mit dem angegebenen Tag die Anmeldeinformationen und nicht mit dem MID-Server-Service-Account.
      Hinweis:
      Dieses Feld ist nicht verfügbar, wenn MID-Service-Account verwenden Kontrollkästchen ist aktiviert.
      Erforderliche MID-Serverfähigkeiten MID-Server, der zum Abfragen von PowerShell verwendet werden soll, nach Fähigkeiten. Standardmäßig wählt das System einen PowerShell-MID-Server aus.
      Hinweis:
      Sie können Parameterwerte in einer Testnutzlast Variablen in zuordnen Ausgaben Automatisch Registerkarte. Siehe Ausgabevariablen automatisch zuordnen .

    Nächste Maßnahme

    Schließen Sie die Erstellung Ihrer PowerShell-Aktivität bis ab Ausgabevariablen werden erstellt , Analyseregel wird erstellt , Oder Bedingungen . Weitere Informationen finden Sie unter Erstellen Sie anwenderdefinierte Aktivitäten Thema, um Ihre Vorlagenoptionen zu erfahren.

    Ausführungsparameter der PowerShell-Vorlage

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

    Beschreibungen der Powershell-Befehlsfelder finden Sie in der Tabelle in Konfigurieren Sie den PowerShell-Ausführungsbefehl.
    Hinweis:
    Sie müssen verwenden ExecutionParameter. Präfix mit allen Variablen in dieser Tabelle.
    Tabelle : 1. PowerShell-Ausführung Parameter
    Name Variable Typ Nutzung
    Quelle Quelle Zeichenfolge Zielhost, auf dem der Befehl ausgeführt werden soll.
    Skripttyp Script_type Aufzählung Typ des auszuführenden Skripts. Die möglichen Typen sind:
    • Befehl: Anwenderdefinierter PowerShell-Befehl.
    • Datei: Gibt die auszuführende MID-Serverskriptdatei an.
    Befehl command Zeichenfolge Befehl, der an den MID-Server gesendet wird, damit er auf dem Zielhost ausgeführt werden kann.
    MidScriptDatei MidScriptDatei Referenz Referenz-sys_ID der auszuführenden MID-Server-Skriptdatei, wenn Script_type Ist Datei .
    PowershellVariablen PowershellVariables Array von Hashmap Hashmap von JavaScript-Objekten mit Name , Wert , Und Typ Für jedes Objekt. Die Typ Von jedem Objekt kann eines von sein Einfach , Verschlüsselt , boolescher wert , Oder Null , Entsprechend der PowerShell-Variable Typ Auf der Registerkarte „Eingaben“ ausgewählt. Sie können beispielsweise Folgendes eingeben:
    var newParameter = {"name":"parameterName","value":"parameterValue", "type": "plain" };
    executionParam.powershellVariables.push(newParameter);
    Anmeldeinformations-Tag Credential_Tag Zeichenfolge Spezifisches Anmeldeinformations-Tag, das diese Aktivität verwenden muss, um PowerShell-Befehle auf dem Host auszuführen.
    MidCapabilities MidCapabilities Zeichenfolge (kommagetrennt) Liste der erforderlichen MID-Serverfähigkeiten.
    Wertfähigkeiten Wertfähigkeiten Array von Hashmap Fähigkeitswerte, die zum Auswählen des MID-Servers verwendet werden. Weitere Informationen finden Sie unter MID-Serverfähigkeiten . Wenn zusätzliche Fähigkeiten vorhanden sind, die nach Wert zugewiesen werden, verwenden Sie dieses Beispiel, um die MID-Serverauswahl anzupassen:
    var valueCapability = {'NEW_MID_CAPABIILTY':'NEW_MID_CAPABILITY_VALUE'};
    executionParam.valueCapabilities.push(valueCapability);

    PowerShell-Nachverarbeitungsparameter und Nutzlastanalyse

    Verwenden Sie diese Parameter, um ein Nachverarbeitungsskript, eine Nutzlastanalyse und ein Tagging zu erstellen.

    Tabelle : 2. PowerShell-Nachverarbeitungsparameter
    Name Variable Typ Nutzung
    Tags tags HashMap von Tag-Werten, die vom PowerShell-Befehl zurückgegeben werden sollen. Enthält die Tags, die zum Extrahieren der Ausgabe mit den PowerShell-Befehlen verwendet werden. Die Tag-Ausgabe wird durch doppelte Prozentzeichen getrennt, wie in %%tagname%% … %% . Richten Sie den Befehl mit dem Format in diesem Beispiel ein:
    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, in denen jedem Schlüssel ein Präfix vorangestellt ist Tag Angehängt mit tagname .

    {"__text__": "", 
    "tagtagname1":"output1 line1\noutput1 line2\n", 
    "tagtagname2":"output2 line1\noutput2 line2\n"}
    Hresult hresult Zeichenfolge Enthält beliebige hresult Vom PowerShell-Befehl zurückgegeben. Wenn nicht hresult Wird zurückgegeben, dieser Parameter ist 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 ECC-Warteschlangeneingabenachricht zugeordnet ist.
    Fehlernachrichten errorMessages Zeichenfolge Enthält alle Fehlermeldungen, die vom PowerShell-Befehl abgerufen wurden. Dieser Wert ist Null Wenn keine Fehlermeldungen vorhanden sind.