PowerShell-Aktivitäten
PowerShell wird auf erstellt Windows.NET Framework und wurde entwickelt, um die Verwaltung von zu steuern und zu automatisieren WindowsComputer und Anwendungen.
PowerShell muss auf jedem MID-Server installiert werden, der diese Aktivitäten verwendet. MID-Server, die PowerShell verwenden, müssen auf einem unterstützten installiert sein WindowsBetriebssystem. ServiceNowUnterstützt PowerShell 3,0 bis 5,1.
Die ServiceNow Orchestration Das Plugin fügt diese grundlegenden PowerShell-Aktivitäten zu Workflows hinzu. Anweisungen zur Verwendung von Aktivitäten aus dem PowerShell-Aktivitätenpaket finden Sie unter PowerShell-Aktivitätenpaket
Veraltete PowerShell-Aktivität ausführen
Die Aktivität „PowerShell ausführen“ wird ausgeführt WindowsPowerShell-Befehle auf einem MID-Server.
Ergebniswerte
- Erfolg
- Fehler
Scratchpad-Einträge
Informationen geschrieben an Stdout Durch das ausführende Skript wird erfasst und an die Aktivität in zurückgegeben Aktivität.Ausgabe Variable. Diese Informationen können zur zukünftigen Verarbeitung im Sensorskript der Aktivität analysiert, verarbeitet oder gespeichert werden (z. B. in einer Scratchpad-Variable).
Stdout Wird in zurückgegeben Aktivität.Ausgabe Und zur Verarbeitung verfügbar.Eingabevariablen
| Feld | Beschreibung |
|---|---|
| Hostname | IP-Adresse des Ziels WindowsComputer. Dieser Wert ist dem zugeordnet $Computer Variable zur Verwendung in Befehlen (siehe Beispiel in Befehl Feld). Eine PowerShell-Anmeldeinformationsvariable aufgerufen $cred Das basiert auf Informationen in ServiceNowDie Anmeldeinformationstabelle authentifiziert sich auf dem Computer, auf den verwiesen wird Hostname . |
| Befehl | Geben Sie den auszuführenden PowerShell-Befehl ein. Beispiel: Um eine einfache WMI-Abfrage für einen Remote-Computer auszuführen, auf den von verwiesen wird Hostname Variable, 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 sowohl einen Befehl als auch eine Skriptdatei ausführen. Durch Angabe eines Befehls wird ausgeblendet Skriptdatei Variable. |
| Sensorskript | Das Skript, das mit den Ergebnissen der Probe ausgeführt werden soll. Die Ausgabe der Probe ist in einer Variablen namens enthalten Ausgabe . Jeder Fehler aus der Probe ist in einer Variablen namens enthalten Fehler . |
| Skriptdatei | Die zugehörigen Listen namens Aktivieren Sie die Skriptdateisynchronisierung für Windows Verbesserte Sicherheitan. Sie können nicht sowohl eine Skriptdatei als auch einen Befehl ausführen. Wenn Sie eine Skriptdatei auswählen, wird ausgeblendet Befehl Variable. |
| 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 onExecute-Funktion der Aktivität gestartet werden kann. |
| 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. Bei einem fehlgeschlagenen PowerShell-Skript können Sie den HRESULT-Code verwenden, um den Workflow durch eine bestimmte Bedingung zu verschieben.
Wenn Sie beispielsweise ein Active Directory-Passwort auf ein Passwort zurücksetzen, das die Richtlinienanforderungen, z. B. Mindestlänge oder Komplexität, nicht erfüllt, gibt das PowerShell-Skript den HRESULT-Code 2146022651 zurück. Um diesen Code zu verwenden, erstellen Sie eine Aktivitätsbedingung mit Bedingung Wert von Activity.hresult = -2146022651 . Wenn das PowerShell-Skript diesen Code zurückgibt, wenn die Aktivität ausgeführt wird, durchläuft der Workflow diese neue Bedingung.