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 auf einem unterstützten installiert sein Windows Betriebssystem. 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.
Legacy-PowerShell-Aktivität ausführen
Die Aktivität PowerShell ausführen wird ausgeführt Windows PowerShell-Befehle auf einem MID-Server.
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 sich auf dem Computer keine Anmeldeinformationen authentifizieren, wird der Befehl im Kontext des MID-Server-Anwenders 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 Verbesserte 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 | Die Workflow-Engine weiß, 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.