PowerShell-Schritt
Führen Sie PowerShell-Skripts auf Remote-Computern von Ihrer ServiceNow-Instanz über ein MID-Server aus.
PowerShell basiert auf dem Windows .NET Framework und dient der Steuerung und Automatisierung der Verwaltung von Windows-Computern und -Anwendungen. ServiceNow Unterstützt PowerShell 3,0 bis 7,4. PowerShell 3.0 unterstützt Windows 2003 Server nicht.
PowerShell-Version
Rollen und Verfügbarkeit
Verfügbar als Workflow-Studio-Aktionsschritt. Anwender mit der Rolle „action_Designer“ können eine anwenderdefinierte Aktion mit einem oder mehreren Aktionsschritten erstellen.
Felder
| Feld | Beschreibung |
|---|---|
| Verbindung | Art der zu verwendenden Verbindung.
Weitere Informationen zu Verbindungen und Anmeldeinformationen finden Sie unter Einführung in Anmeldeinformationen, Verbindungen und Aliasse . |
| Verbindungsalias | Alias-Datensatz für Verbindungen und Anmeldeinformationen, den das System zur Ausführung des Aktionsschritts verwendet. Anwender mit der Rolle „Flow_Designer“ oder „admin“ können einen zugehörigen Verbindungsdatensatz erstellen oder auswählen. Wenn Sie einen Alias verwenden, müssen Sie nicht mehrere Anmeldeinformations- und Verbindungsinformationsprofile konfigurieren, wenn Sie eine Aktion in mehreren Umgebungen verwenden. Wenn sich die Verbindungsinformationen ändern, müssen Sie Ihre anwenderdefinierte Aktion nicht aktualisieren. Weitere Informationen zu Verbindungen und Anmeldeinformationen finden Sie unter Anmeldeinformationen, Verbindungen und Aliasnamen.
Der Anmeldeinformationswert wird im Datenbereich als Passwortdatenpille (zweifach verschlüsselt) angezeigt.
Hinweis: Dieses Feld ist verfügbar, wenn Verwenden Sie Den Verbindungsalias Ist aus der Verbindungsliste ausgewählt. |
| Anmeldeinformationsalias | Anmeldeinformationsalias, den das System zur Ausführung des Aktionsschritts verwendet. Anwender mit der Rolle „Flow_Designer“ oder „admin“ können einen zugehörigen Verbindungsdatensatz erstellen oder auswählen. Wenn Sie einen Alias verwenden, müssen Sie nicht mehr mehrere Anmeldeinformationen konfigurieren, wenn Sie eine Aktion in mehreren Umgebungen verwenden. Wenn sich die Anmeldeinformationen ändern, müssen Sie Ihre anwenderdefinierte Aktion nicht aktualisieren. Weitere Informationen zu Verbindungen und Anmeldeinformationen finden Sie unter Anmeldeinformationen, Verbindungen und Aliasnamen.
Der Anmeldeinformationswert wird im Datenbereich als Passwortdatenpille (zweifach verschlüsselt) angezeigt.
Hinweis: Dieses Feld ist verfügbar, wenn Definieren Sie Die Verbindung Inline Ist aus der Verbindungsliste ausgewählt. |
| Host | Geben Sie den vollständig qualifizierten Domänennamen des Zielhosts an, auf dem das System den Aktionsschritt ausführt. Zum Beispiel host.domain.com.
Hinweis: Dieses Feld ist nur sichtbar, wenn die Verbindung Verbindung inline definieren lautet. |
| Port | Geben Sie den Kommunikationsport an, an dem der Zielhost auf Verbindungen wartet. Zum Beispiel 5985. Lassen Sie das Feld leer, um den Standardport zu verwenden. Hinweis: Dieses Feld ist nur sichtbar, wenn die Verbindung Verbindung inline definieren lautet. |
| MID-Auswahl |
Option zum Auswählen eines bestimmten MID-Servers oder MID-Clusters. Wählen Sie eine der folgenden Optionen aus.
|
| MID-Anwendung | Geben Sie die Anwendung an, die der MID Server unterstützen muss, um ausgewählt zu werden. Das System führt den Aktionsschritt von einem MID-Server aus, der die ausgewählte Anwendung unterstützt. Wenn Sie eine Datenpille für dieses Feld verwenden, muss die Pille auf den Namen der MID-Anwendung verweisen, nicht auf den MID-Anwendungsdatensatz.Dieses Feld ist verfügbar, wenn Definieren Sie Die Verbindung Inline Ist aus der Verbindungsliste und ausgewählt MID-Server automatisch auswählen Ist aus der MID-Auswahlliste ausgewählt. |
| Fähigkeiten | Fähigkeiten der MID-Server Muss unterstützen, um für die Auswahl berechtigt zu sein. Das System führt den Aktionsschritt von einem aus aus MID-Server Die die ausgewählten Fähigkeiten unterstützt. Dieses Feld ist verfügbar, wenn Definieren Sie Die Verbindung Inline Ist aus der Verbindungsliste und ausgewählt MID-Server automatisch auswählen Ist aus der MID-Auswahlliste ausgewählt. |
| MID-Server | Datenpille, die eine sys_ID-Referenz zu enthält MID-Server[ecc_Agent_list] Datensatz. Dieses Feld ist verfügbar, wenn Definieren Sie Die Verbindung Inline Ist aus der Verbindungsliste und ausgewählt Bestimmter MID-Server Ist aus der MID-Auswahlliste ausgewählt. |
| MID-Cluster | Datenpille für den MID-Cluster, den Sie verwenden möchten. Dieses Feld ist verfügbar, wenn Definieren Sie Die Verbindung Inline Ist aus der Verbindungsliste und ausgewählt Spezifischer MID-Cluster Ist aus der MID-Auswahlliste ausgewählt. |
| Remotingtyp | Der Speicherort, an dem das PowerShell-Skript ausgeführt wird, z. B. der MID oder ein Remote-Server.
Hinweis: Um eine Funktion in einem PowerShell-Skriptbefehl oder einer PowerShell-Skriptdatei aufzurufen, muss der Befehl den Funktionsparameterblock definieren, wenn die Funktion Eingabeparameter hat. Diese Anforderung gilt für explizites und implizites Remoting. Weitere Informationen zum Parameterblock finden Sie in der Microsoft-Dokumentation zu Windows Powershell-Parametern unter https://technet.microsoft.com/. |
| Präfix des Remotenamens | Der Dateipfad mit Ausnahme der Dateinamen zu den vom Remote-Server zu ladenden Modulen. Hinweis: Dieses Feld ist nur sichtbar, wenn Remoting-Typ Implizites Remoting (Erweitert) ist. |
| Zu importierende Module | Die durch Kommas getrennte Liste der Module, die vom Remote-Server unter dem definierten Dateipfad importiert werden sollen. Hinweis: Dieses Feld ist nur sichtbar, wenn Remoting-Typ Explizites Remoting (am häufigsten) oder Implizites Remoting (Erweitert) ist. |
| Testen Sie den PowerShell-Schritt | Schaltfläche zum Testen der konfigurierten Anmeldeinformationen für den PowerShell-Schritt. Weitere Informationen finden Sie unter Testen Sie Anmeldeinformationen für den PowerShell-Schritt . |
| Skripttyp | Der Typ des Skripts, das auf dem PowerShell-Host ausgeführt werden soll.
|
| MID-Server Skript | Vordefiniertes PowerShell-Skript aus der MID-Server Tabelle der Skriptdateien [ecc_agent_script_file]. Hinweis: Dieses Feld ist nur verfügbar, wenn Skripttyp MID-Server-Skriptdatei ist. |
| Skriptpfad | Schreibgeschützter Pfad zum ausgewählten MID-Server Skript. Hinweis: Dieses Feld ist nur sichtbar, wenn Skripttyp MID-Server-Skriptdatei ist. |
| Eingabevariablen | Die optionalen Name-Wert-Paare, die die Werte der PowerShell-Skriptvariablen darstellen. Sie können Aktionseingaben und -daten aus anderen Schritten innerhalb des PowerShell-Skripts verwenden. Definieren Sie für jede Variable die folgenden Felder:
|
| Befehl | Das Inline-PowerShell-Skript, das auf dem Ziel-Host ausgeführt werden soll. Hinweis: Dieses Feld ist nur sichtbar, wenn der Skripttyp Inline-Skript ist. |
Auswertung des Aktionsfehlers
- Wenn dieser Schritt fehlschlägt
- Datentyp: Choice
Option, um den nächsten Schritt fortzusetzen oder zur Fehlerauswertung zu wechseln. Informationen zur Verwendung des Schrittstatuscodes oder der Meldung für eine anwenderdefinierte Aktionsfehlerbedingung finden Sie unter Aktionsfehlerauswertung.
PowerShell-Skriptvariablen
Zugriff auf Eingabevariablen über das Feld Befehl müssen Sie sie mit einer speziellen Syntax aufrufen. Die von Ihnen verwendete Syntax hängt vom Wert einer Systemeigenschaft ab. Wenn Remoting-Typ Auf einem MID-Server ausführen oder mit Ihrem Skript eine Remote-Sitzung einrichten ist, stehen einige reservierte Variablen zusätzlich zu den Eingangsvariablen zur Verfügung.
- Syntax der Eingabevariablen
Präfix für Variablennamen haben standardmäßig ein $-Zeichen. Wenn zum Beispiel eine Eingabevariable als Meldung bezeichnet wird, verwenden Sie $message, um auf die Variable im Skript zuzugreifen.
Wenn mid.powershell.command.script.parameter_passingDer Parameter ist auf „falsch“ festgelegt. Stellen Sie dem Variablennamen ein Präfix voran $env:SNC_ . Wenn eine Eingabevariable zum Beispiel als Meldung bezeichnet wird, benutzen Sie $env:SNC_message, um auf die Variable im Skript zuzugreifen. Um mehr über zu erfahren mid.powershell.command.script.parameter_passingParameter, siehe MID-Server-Parameter .
- Reservierte Variablen
Wenn der Remoting-Typ Auf einem MID-Server ausführen oder mit Ihrem Skript eine Remote-Sitzung einrichten ist, sind die folgenden Variablen für die Verwendung in Skripts verfügbar. Reservierte Variablen können nicht als benutzerdefinierte Eingangsvariablennamen verwendet werden.
Reservierte Variable Beschreibung $computer Host-IP-Adresse, die im Connection-Alias-Datensatz definiert ist. $cred Anmeldeinformationsobjekt, das die im Verbindungsdatensatz definierten Anmeldeinformationen enthält. Verwenden Sie diese Variable mit einem beliebigen PowerShell-Cmdlet, das den Credential-Parameter unterstützt. Zum Beispiel: New-PSSession -credential $cred.$log_info Wenn mid.property.powershell.log_infoEigenschaft ist auf „wahr“ festgelegt, fügt einem PowerShell-Skript Protokollierungsinformationen hinzu. Die folgenden Variablennamen sind für die interne Verarbeitung reserviert und sollten nicht als Eingangsvariablen verwendet werden.
- Skript
- useCred
- isMid
- isDiscovery
- debuggen
- Anwender
- Passwort
- executingScriptDirectory
- midScriptDirectory
- hresult