Deep Dive UiPath Hintergrundwissen & Tutorial

PowerShell & UiPath

Was ist PowerShell?

xxx

Anwendungsbeispiele für UiPath & PowerShell

xxx


Voraussetzungen zur Nutzung:

  • Microsoft Windows 7+ mit funktionierender ISE
  • Möglichkeit, die Ausführungsrichtlinie (set-executionpolicy) unrestricted oder bypass zu setzen. Dazu sind administrative Rechte erforderlich.

Die invoke PowerShell Node und ihre Optionen

Die PowerShell Node liegt in Aktivitäten > Installiert > System > PowerShell > Invoce Power Shell (UiPath.Core.Activities.InvokePowerShell).

"Befehl" oder in den Optionen Eingabe > Befehlstext

Der auszuführende PowerShell-Befehl. Das, was in den Code-Zeilen in PowerShell steht und ausgeführt werden soll.

Allgemein

Anzeigename
Name der Node, dieser kann verändert und wie ein Kommentar genutzt werden

Continue On Error
Gibt an, ob der UiPath Bot im Fehlerfall weiterläuft oder abbricht. True lässt den Bot im Fehlerfall weiterlaufen.

Ausgabe

Ausgabe
Beinhaltet die Variable der Inhalte der Rückgabe des Scripts.

Eingabe

Befehlstext

Input
Erwartet bereits PowerShell Objekte. Der Input kann genutzt werden, wenn bereits vorher innerhalb von UiPath mit PowerShell gearbeitet wurde – so können PS-Objekte, die zurückmeldet werden, von einer Invoke über eine Variable in das nächste Invoke übergeben werden.

Parameter
(1) Die Parameter sind jene Argumente und deren Inhalte, welche den Befehlen in das Script übergeben werden. Dabei wird der Parameter-Name zum Parameter und der Parameter-Value zu seinem Inhalt. Folgendes Bild erklärt es anschaulicher :- )

(2) Die Parameter können auch Variablen sein, welche vom UiPath nach PowerShell übergeben werden

Weiteres zur Übergabe von Variablen von UiPath in das PS-Script weiter unten.

Misc

Ausführungsmodus
Die auszuführende Version von PowerShell.
Es stehen aktuell: 7.x sowie 5.x zur Verfügung. Bei Nutzung von 5.x steht eine 32-Bit-Version zur Verfügung. Wir nutzen ausschließlich die neueste Version.

IsScript
Wenn True: Bei dem Inhalt von "Befehlstext" handelt es sich im kompletten Text um ein Script, dieses kann über mehrere Zeilen gehen und komplexe Strukturen nutzen.
Wenn False: Bei dem Inhalt von "Befehlstext" handelt es sich um einen direkten einzelnen Befehl.

Beispiel:
"Write-Host 'Hello World!'" -> Es handelt sich um ein Script, IsScript True.
"Get-Process" -> Es handelt sich um einen direkten Befehl, IsScript False

PowerShellVariablen

Private

TypeArgument




Variablen aus UiPath in PowerShell übergeben und zurückerhalten

Variablen von UiPath in PowerShell

xxx

Variablen von PowerShell nach UiPath

xxxx


PowerShell Einzeiler in UiPath

xxx

Komplexe PowerShell-Scripte in UiPath

xxx

Bekannte Probleme und deren 'Lösung'

"Lösung" steht in Anführungszeichen. Teilweise handelt es sich um Workarounds und keine „saubere Lösung“.

Es werden -Attributionen von PowerShell Befehlen nicht erkannt

Zum Beispiel "Test-Connection -IPAddress" erscheint in UiPath die Fehlermeldung, dass -IpAddress unbekannt ist. Dieses kann an der Standard-Ausführung von PowerShell in der Version 7 liegen. Viele Befehle sind in PS 7+ weggefallen oder wurden durch andere ersetzt. Wenn die Scripte in deiner ISE funktionieren, teste mit

$PSVersionTable.PSVersion

die lokale Version deiner PowerShell, wird dort "Major: 5" angezeigt, laufen deine Scripte auch in der PS v.5 - stelle in UiPath die PS Version auf 5 anstelle von 7 und teste das Script.

Log Message: Object reference not set to an instance of an object.

Der Rückgabewert der PowerShell ist (null), passiert oft, wenn mir write-host zurückgeschrieben wird. Ersetze dieses durch ein return.

Weiterführende Quellen

  • https://docs.uipath.com/de/activities/other/latest/workflow/invoke-power-shell
Nach oben scrollen