---
sourceDocument: Yokohama Now Platform-Fähigkeiten
sourceDocumentLink: https://www.servicenow.com/docs/r/de-DE/yokohama/servicenow-platform

 Release :

    - yokohama

ft:locale :

    - de-DE

ft:publication_title :

    - Yokohama Now Platform-Fähigkeiten

ft:clusterId :

    - platcap

bundleId :

    - platcap

workflow :

    - Platform


---

# PowerShell-Aktivitäten

# PowerShell-Aktivitäten {#ariaid-title1}

* Freigeben Version: Yokohama
* 
* Aktualisiert 30. Januar 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 Minuten Lesedauer

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. {#c_OrchestrPowerShellActivities__ph_Supported_PowerShell_Versions}

Die ServiceNow [Orchestration](https://www.servicenow.com/docs/0nrDYEOOS_wgsyX6VKJz8w "Verwenden OrchestrationAktivitäten in einem WorkflowZur Integration in Drittparteisysteme.")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](https://www.servicenow.com/docs/Q2doCRkWFSYkUNME_SQh8g "PowerShell wird auf erstellt Windows.NET Framework und wurde entwickelt, um die Verwaltung von zu steuern und zu automatisieren WindowsComputer und Anwendungen.")

## Veraltete PowerShell-Aktivität ausführen {#ariaid-title2}

Die Aktivität „PowerShell ausführen" wird ausgeführt WindowsPowerShell-Befehle auf einem MID-Server.
Wichtig:  
Diese Aktivität ist veraltet und für neue Workflows nicht verfügbar. Um die Funktionalität dieser Aktivität zu ersetzen, verwenden Sie [PowerShell-Aktivitätsvorlage](https://www.servicenow.com/docs/hxEgAIlI0VAkzXl5uoT05g#t_CreateAPowershellActivity "Erstellen Sie eine anwenderdefinierte PowerShell-Aktivität, um Daten von einem Host mit Microsoft PowerShell an einen Workflow zurückzugeben.")Dient zum Erstellen einer anwenderdefinierten, bereichsbezogenen Aktivität. Workflows aus einem vorherigen Release, die die Aktivität „PowerShell ausführen" verwenden, können dies weiterhin tun.

### Ergebniswerte

Der Workflow-Designer kann einen Ergebniswert mithilfe von „activity.result" aus einem Skriptfeld der Aktivität zuweisen. Standardmäßig bestimmt der Erfolg oder Fehler der verwendeten PowerShell-Befehle den Ergebniswert der Aktivität „PowerShell ausführen". Mögliche Ergebniswerte sind:

* Erfolg
* Fehler
{#r_RunPowershellActivity__ul_oqc_yxs_hp}

### Scratchpad-Einträge

Informationen geschrieben an <var class="keyword varname">Stdout </var>Durch das ausführende Skript wird erfasst und an die Aktivität in zurückgegeben <var class="keyword varname">Aktivität.Ausgabe </var>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).  
Ein Beispiel wäre die Ausführung des Befehls GET-date, um die aktuelle Uhrzeit des MID-Servers abzurufen. Dieses Sensorskript speichert die gesamte empfangene Ausgabe, aber wir können sie so verarbeiten, dass sie zurückgegeben wird und nur die Zeit gespart wird.Abbildung : 1. PowerShell-Aktivität  
Hinweis:  
Dies ist ein zu vereinfachtes Beispiel. In den meisten Fällen funktioniert das Skript für einige Remote-Elemente WindowsComputer. Der Prinzipal ist jedoch derselbe -- was auch immer geschrieben wird `Stdout `Wird in zurückgegeben `Aktivität.Ausgabe `Und zur Verarbeitung verfügbar.

### Eingabevariablen

{#r_RunPowershellActivity__table_kh2_mys_hp__entry__2}

| Feld | Beschreibung |
|-|-|
| Hostname | IP-Adresse des Ziels WindowsComputer. Dieser Wert ist dem zugeordnet <var class="keyword varname">$Computer </var>Variable zur Verwendung in Befehlen (siehe Beispiel in Befehl Feld). Eine PowerShell-Anmeldeinformationsvariable aufgerufen <var class="keyword varname">$cred </var>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 <var class="keyword varname">Hostname </var>Variable, der Befehl lautet: get-wmiobject <class> -computer $computer -credential $cred 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 <var class="keyword varname">Skriptdatei </var>Variable. |
| Sensorskript | Das Skript, das mit den Ergebnissen der Probe ausgeführt werden soll. Die Ausgabe der Probe ist in einer Variablen namens enthalten <var class="keyword varname">Ausgabe </var>. Jeder Fehler aus der Probe ist in einer Variablen namens enthalten <var class="keyword varname">Fehler </var>. |
| Skriptdatei | Die zugehörigen Listen namens [Aktivieren Sie die Skriptdateisynchronisierung für Windows Verbesserte Sicherheit](https://www.servicenow.com/docs/q4qU17c6PF9gcxMKxaBLnQ#c_EnableScriptFileSyncWinESecure "Windows Durch Internet Explorer erweiterte Sicherheitsblöcke heruntergeladene Dateien, die als potenziell gefährlich eingestuft werden.")an. Sie können nicht sowohl eine Skriptdatei als auch einen Befehl ausführen. Wenn Sie eine Skriptdatei auswählen, wird ausgeblendet <var class="keyword varname">Befehl </var>Variable. |
| PowerShell-Skriptvariablen | Zusätzliche Parameter im JSON-Format, die von der angegebenen Skriptdatei verwendet werden. |
[Tabelle : 1. Eingabevariablen]

{#r_RunPowershellActivity__table_kh2_mys_hp}

### Status

Der Aktivitätsstatus teilt der Workflow-Engine mit, was mit der Aktivität zu tun ist.{#r_RunPowershellActivity__table_zvx_mzs_hp__entry__2}

| 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. |
[Tabelle : 2. Status]

{#r_RunPowershellActivity__table_zvx_mzs_hp}  
Fügen Sie Workflow-Variablen für die Befehlszeile mithilfe der normalen Workflow-Variablensyntax hinzu. Im obigen Beispiel, wenn sich die \<class\> in einer Workflow-Eingabevariable befand, die aufgerufen wurde <var class="keyword varname">Meine Klasse </var>, Der Befehl sieht wie folgt aus:

    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 $cred

## HRESULT-Codes {#ariaid-title3}

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 <var class="keyword varname">Activity.hresult = -2146022651 </var>. Wenn das PowerShell-Skript diesen Code zurückgibt, wenn die Aktivität ausgeführt wird, durchläuft der Workflow diese neue Bedingung.

