---
sourceDocument: Xanadu: Integrationen mit Anwendungen erstellen
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/integrate-applications

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu: Integrationen mit Anwendungen erstellen

ft:clusterId :

    - crint

bundleId :

    - crint

workflow :

    - Creator


---

# PowerShell-Aktivitäten

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

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 Minuten Lesedauer

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

Das ServiceNow-Plugin [Orchestration](https://servicenow-prod.fluidtopics.net/vYDYiCcSRJMjmAOIskyX4w "Verwenden Sie Orchestration-Aktivitäten in einem Workflow, um Systeme von Drittanbietern zu integrieren.") 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](https://servicenow-prod.fluidtopics.net/cvpajDR_4RpG7ay2zdhSQg "PowerShell baut auf dem Windows .NET Framework auf und dient zur Steuerung und Automatisierung der Verwaltung von Windows-Computern und -Anwendungen.").

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

Die Aktivität „PowerShell ausführen" führt Windows PowerShell-Befehle auf einem MID Server aus.
Wichtig:  
Diese Aktivität ist veraltet und steht für neue Workflows nicht zur Verfügung. Um die Funktionalität dieser Aktivität zu ersetzen, erstellen Sie mit der [PowerShell-Aktivitätsvorlage](https://servicenow-prod.fluidtopics.net/E319eZA1DskF2p_heyXosA#t_CreateAPowershellActivity "Erstellen Sie eine benutzerdefinierte PowerShell-Aktivität, die Daten von einem Host mittels Microsoft PowerShell an einen Workflow zurückgibt.") eine benutzerdefinierte, bereichsspezifische Aktivität. Workflows aus einem früheren Release, die die Aktivität „PowerShell ausführen" verwenden, funktionieren weiterhin.

### Ergebniswerte

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

* Success
* Failure
{#r_RunPowershellActivity__ul_oqc_yxs_hp}

### Scratchpad-Einträge

Vom ausführenden Skript in <var class="keyword varname">stdout</var> geschriebene Informationen werden erfasst und in der Variable<var class="keyword varname"> activity.output</var> 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).  
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 sie kann so verarbeitet werden, dass nur die Zeit zurückgegeben und gespeichert wird.Abbildung : 1. PowerShell-Aktivität  
Hinweis:  
Dies ist ein stark vereinfachtes Beispiel. In den meisten Fällen arbeitet das Skript für bestimmte Remote-Windows-Computer. Das Prinzip ist jedoch dasselbe -- was auch immer in `stdout` geschrieben wird, wird in `activity.output` zurückgegeben und ist zur Verarbeitung verfügbar.

### Eingabevariablen

{#r_RunPowershellActivity__table_kh2_mys_hp__entry__2}

| Feld | Beschreibung |
|-|-|
| Hostname | IP-Adresse des Windows-Zielcomputers. Dieser Wert wird der Variable <var class="keyword varname">$computer</var> für die Verwendung in Befehlen zugeordnet (siehe das Beispiel für das Feld Befehl). Die Variable für die PowerShell-Anmeldeinformationen <var class="keyword varname">$cred</var>, 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 <var class="keyword varname">hostname</var> verwiesen wird. Der Befehl lautet: get-wmiobject <class> -computer $computer -credential $cred 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 <var class="keyword varname">Skriptdatei</var> ausgeblendet. |
| Sensorskript | Das Skript, das mit den Ergebnissen der Probe ausgeführt wird. Die Ausgabe der Probe ist in der Variable <var class="keyword varname">output</var> enthalten. Alle Fehler der Probe sind in der Variable <var class="keyword varname">error</var> enthalten. |
| Skriptdatei | Die zugehörigen Listen namens [Aktivieren Sie die Skriptdateisynchronisierung für Windows erweiterte Sicherheit](https://www.servicenow.com/docs/access?context=mid-server-script-attach&version=xanadu&pubname=xanadu-servicenow-platform&section=c_EnableScriptFileSyncWinESecure&ft:locale=en-US)an. Sie können nicht beides, eine Skriptdatei und einen Befehl, ausführen. Durch die Angabe einer Skriptdatei wird das Feld <var class="keyword varname">Befehl</var> ausgeblendet. |
| 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 weist das Workflow-Modul an, was mit der Aktivität zu tun ist.{#r_RunPowershellActivity__table_zvx_mzs_hp__entry__2}

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

{#r_RunPowershellActivity__table_zvx_mzs_hp}  
Fügen Sie Workflow-Variablen für die Befehlszeile mit der üblichen Workflow-Variablensyntax hinzu. Wenn sich im obigen Beispiel \<class\> in der Workflow-Eingabevariablen <var class="keyword varname">myclass</var> befunden hätte, würde der Befehl folgendermaßen aussehen:

    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. 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 <var class="keyword varname">activity.hresult = –2146022651</var>. Wenn das PowerShell-Skript diesen Code bei Ausführung der Aktivität zurückgibt, durchläuft der Workflow diese neue Bedingung.

