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 wurde entwickelt, um die Verwaltung von Windows-Computern und -Anwendungen zu steuern und zu automatisieren. ServiceNow unterstützt PowerShell 3.0 bis 5.1. PowerShell 3.0 unterstützt Windows 2003 Server nicht.
Rollen und Verfügbarkeit
Verfügbar als Workflow-Studio-Aktionsschritt. Benutzer 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 zu Anmeldeinformationen, Verbindungen und Aliassen. |
| Verbindungsalias | Aliasdatensatz für Verbindungen und Anmeldeinformationen, den das System zum Ausführen des Aktionsschritts verwendet. Benutzer 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. Ebenso müssen Sie Ihre anwenderdefinierte Aktion nicht aktualisieren, wenn sich die Verbindungsinformationen ändern. Weitere Informationen zu Verbindungen und Anmeldeinformationen finden Sie unter Anmeldeinformationen, Verbindungen und Aliasnamen.
Der Wert der Anmeldeinformationen wird als Datenpille Passwort (zweifach verschlüsselt) im Datenbereich angezeigt.
Hinweis: Dieses Feld ist verfügbar, wenn Verbindungsalias verwenden aus der Verbindungsliste ausgewählt wird. |
| Anmeldeinformationsalias | Anmeldeinformationsalias, den das System zum Ausführen des Aktionsschritts verwendet. Benutzer 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. Auch 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 Wert der Anmeldeinformationen wird als Datenpille Passwort (zweifach verschlüsselt) im Datenbereich angezeigt.
Hinweis: Dieses Feld ist verfügbar, wenn Verbindung inline definieren aus der Verbindungsliste ausgewählt wird. |
| 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. Leer lassen, um den Standardport zu verwenden. Hinweis: Dieses Feld ist nur sichtbar, wenn die Verbindung Verbindung inline definieren lautet. |
| MID-Auswahl |
Option zum Auswählen des spezifischen MID-Servers oder MID-Clusters.
|
| 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 Inline-Verbindung definieren in der Verbindungsliste und MID-Server automatisch auswählen in der Liste MID-Auswahl ausgewählt wird. |
| Fähigkeiten | Fähigkeiten, die die MID-Server unterstützen müssen, um ausgewählt zu werden. Das System führt den Aktionsschritt über einen MID-Server aus, der die ausgewählten Fähigkeiten unterstützt. Dieses Feld ist verfügbar, wenn Inline-Verbindung definieren in der Verbindungsliste und MID-Server automatisch auswählen in der Liste MID-Auswahl ausgewählt wird. |
| MID-Server | Datenpille, die eine sys_id-Referenz zu einem MID-Server [ecc_agent_list]-Datensatz enthält. Dieses Feld ist verfügbar, wenn Inline-Verbindung definieren in der Verbindungsliste und Spezifischer MID-Server in der MID-Auswahlliste ausgewählt werden. |
| MID-Cluster | Datenpille für den MID-Cluster, den Sie verwenden möchten. Dieses Feld ist verfügbar, wenn Inline-Verbindung definieren in der Verbindungsliste und Spezifischer MID-Cluster in der MID-Auswahlliste ausgewählt werden. |
| 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-Skript-Befehl oder einer PowerShell-Skriptdatei aufzurufen, muss der Befehl den Funktionsparam-Block definieren, wenn die Funktion Eingabeparameter aufweist. Diese Anforderung gilt für explizites und implizites Remoting. Zusätzliche Informationen zum param-Block 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. |
| Schritt „PowerShell testen“. | Schaltfläche zum Testen der konfigurierten Anmeldeinformationen für den PowerShell-Schritt. Weitere Informationen hierzu finden Sie unter Schritt „Anmeldeinformationen für PowerShell testen“. |
| 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. |
Fehlerbewertung der Aktion
- Wenn dieser Schritt fehlschlägt
- Datentyp: Choice
Option, um den nächsten Schritt auszuführen oder zur Fehlerauswertung zu wechseln. Informationen zur Verwendung des Schrittstatuscodes oder der Nachricht für eine anwenderdefinierte Aktionsfehlerbedingung finden Sie unter Fehlerbewertung der Aktion.
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 der Parameter mid.powershell.command.script.parameter_passing auf „false“ gesetzt wurde, muss dem Variablennamen $env:SNC_ vorangestellt werden. Wenn eine Eingabevariable zum Beispiel als Meldung bezeichnet wird, benutzen Sie $env:SNC_message, um auf die Variable im Skript zuzugreifen. Weitere Informationen zum Parameter mid.powershell.command.script.parameter_passing finden Sie unter 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 die Eigenschaft mid.property.powershell.log_info auf „true“ festgesetzt ist, werden einem PowerShell-Skript Protokollierungsinformationen hinzugefügt. Die folgenden Variablennamen sind für die interne Verarbeitung reserviert und sollten nicht als Eingabevariablen verwendet werden.
- Skript
- useCred
- isMid
- isDiscovery
- debuggen
- Anwender
- Passwort
- executingScriptDirectory
- midScriptDirectory
- hresult