PowerShell-Aktivitäten
PowerShell baut auf dem Windows .NET Framework auf und dient zur Steuerung und Automatisierung der Verwaltung von Windows-Computern und -Anwendungen.
PowerShell muss auf jedem MID Server installiert sein, der diese Aktivitäten verwendet. MID-Server, die PowerShell verwenden, müssen unter dem unterstützten Betriebssystem Windows installiert sein. ServiceNow unterstützt PowerShell 3.0 bis 5.1.
Das ServiceNow-Plugin Orchestration fügt Workflows diese grundlegenden PowerShell-Aktivitäten hinzu. Anweisungen zur Verwendung von Aktivitäten aus dem PowerShell-Aktivitätspaket finden Sie unter PowerShell-Aktivitätspaket.
Veraltete Aktivität „PowerShell ausführen“
Die Aktivität „PowerShell ausführen“ führt Windows PowerShell-Befehle auf einem MID Server aus.
Ergebniswerte
- Success
- Failure
Scratchpad-Einträge
Vom ausführenden Skript in stdout geschriebene Informationen werden erfasst und in der Variable activity.output an die Aktivität im zurückgegeben. Diese Informationen können für eine spätere Verarbeitung im Sensorskript der Aktivität analysiert, verarbeitet oder gespeichert werden (z. B. in einer Scratchpad-Variable).
stdout geschrieben wird, wird in activity.output zurückgegeben und ist zur Verarbeitung verfügbar.Eingabevariablen
| Feld | Beschreibung |
|---|---|
| Hostname | IP-Adresse des Windows-Zielcomputers. Dieser Wert wird der Variable $computer für die Verwendung in Befehlen zugeordnet (siehe das Beispiel für das Feld Befehl). Die Variable für die PowerShell-Anmeldeinformationen $cred, die auf Informationen aus der ServiceNow-Tabelle „Anmeldeinformationen“ basiert, wird auf dem Computer authentifiziert, auf den von Hostname verwiesen wird. |
| Befehl | Geben Sie den auszuführenden PowerShell-Befehl ein. Sie können beispielsweise eine einfache WMI-Abfrage für einen Remote-Computer ausführen, auf den von der Variable hostname verwiesen wird. Der Befehl lautet:
Wenn auf dem Computer keine Anmeldeinformationen authentifiziert werden, wird der Befehl im Kontext des MID Server-Benutzers ausgeführt. Sie können nicht beides, einen Befehl und eine Skriptdatei, ausführen. Durch die Angabe eines Befehls wird das Feld Skriptdatei ausgeblendet. |
| Sensorskript | Das Skript, das mit den Ergebnissen der Probe ausgeführt wird. Die Ausgabe der Probe ist in der Variable output enthalten. Alle Fehler der Probe sind in der Variable error enthalten. |
| Skriptdatei | Die zugehörigen Listen namens Aktivieren Sie die Skriptdateisynchronisierung für Windows erweiterte Sicherheitan. Sie können nicht beides, eine Skriptdatei und einen Befehl, ausführen. Durch die Angabe einer Skriptdatei wird das Feld Befehl ausgeblendet. |
| PowerShell-Skriptvariablen | Zusätzliche Parameter im JSON-Format, die von der angegebenen Skriptdatei verwendet werden. |
Status
| Status | Beschreibung |
|---|---|
| Wird ausgeführt | Dem Workflow-Modul ist bekannt, dass die Funktion „onExecute“ der Aktivität gestartet werden soll. |
| Fertig | Die Ausführung der Aktivität ist abgeschlossen. Der Ergebniswert gibt das Ergebnis der Aktivität an. |
| Abgebrochen | Diese Aktivität oder der Workflow, der diese Aktivität enthält, wurde abgebrochen. |
get-wmiobject $ {workflow. inputs. myclass } -computer $computer –credential $cred
Similarly if the variable is a scratchpad variable named myclass , the command would look like :
get -wmiobject $ {workflow. scratchpad. myclass } -computer $computer –credential $credHResult-Codes
Wenn ein PowerShell-Skript auf einen Fehler stößt, gibt der Windows-Computer möglicherweise einen HResult-Code als Teil der Fehlermeldung zurück.
PowerShell-Aktivitäten können diesen Code lesen und interpretieren. Nicht alle PowerShell-Fehler enthalten einen HResult-Code. Im Falle eines fehlgeschlagenen PowerShell-Skripts können Sie den HResult-Code verwenden, damit der Workflow eine bestimmte Bedingung durchläuft.
Wenn Sie beispielsweise ein Active Directory-Passwort auf ein Passwort zurücksetzen, das nicht den Richtlinienanforderungen entspricht (z. B. Mindestlänge oder Komplexität), gibt das PowerShell-Skript den HResult-Code –2146022651 zurück. Um diesen Code zu verwenden, erstellen Sie eine Aktivitätsbedingung mit dem Bedingungswert activity.hresult = –2146022651. Wenn das PowerShell-Skript diesen Code bei Ausführung der Aktivität zurückgibt, durchläuft der Workflow diese neue Bedingung.