Invoke Powershell Problem

Post Reply
AndreVogel
Posts: 32
Joined: 23. Apr 2015, 14:38
Contact:

Invoke Powershell Problem

Post by AndreVogel » 07. Oct 2021, 10:19

Hallo zusammen,

folgendes Problem. Wir haben ein Powershell Skript erstellt und dies lokal auf dem Testsystem innerhalb der Powershell getestet. Das Skript funktioniert wunderbar, dann haben wir das ganze innerhalb einer Invoke Powershell Kachel im Workflow Studio getestet auch das hat auf dem Testsystem problemlos funktioniert.

Dann sind wir hingegangen und wollten das ganze auf unserem Produktivsystem implementieren, dort schlägt allerdings der Workflow innerhalb der Invoke Powershell Kachel mit folgender Meldung fehl:
System.InvalidOperationException: Für den Ort mit dem Namen 'AgentGUID' kann kein Wert des Typs 'System.Object' festgelegt werden, da es sich um einen Ort des Typs 'System.Guid' handelt. bei System.Activities.ActivityContext.SetValueCore[T](LocationReference locationReference, T value) bei Matrix42.Workflows.Activities.PowerShell.ExecutePowerShell`1.EndExecute(AsyncCodeActivityContext context, IAsyncResult result) bei System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)
Wenn wir das Skript direkt auf dem Server innerhalb der Powershell ausführen funktioniert jedoch alles. Daher würde ich einen Fehler im Skript ausschließen.
Den Workflow haben wir auch nicht neu gebaut, sondern das funktionierende Workflow Paket vom Testsystem exportiert und auf dem Produktivsystem importiert. Nur um einen Fehler beim Export / Import auszuschließen haben wir Ihn sogar einmal neu gebaut, jedoch mit dem gleichen Erfolg.

Auf beiden Servern ist die gleiche Matrix Version 10.0.3.3138 installiert.
Mir kommt es so vor als würde er die Datentypen auf beiden Systemen unterschiedlich interpretieren.
Wenn ich die Datentypen so anpasse wie er es in der Fehlermeldung bemängelt, schlägt die Kachel zwar nicht mehr fehl und der Workflow läuft durch, aber die Invoke Powershell Kachel gibt keine Werte an die Ausgabevariablen weiter, die sind dann einfach leer.
Hatte schonmal jemand ein solches Problem oder eine Idee?

Gruß Andre
Mit freundlichen Grüßen
i. A.

Andre Vogel
Systemarchitekt
Stadtbetrieb Informations- und Kommunikationssysteme
402.1303 ServiceDesk

An der Bergbahn 33
42289 Wuppertal

E-Mail andre.vogel@stadt.wuppertal.de

http://www.wuppertal.de

cboss
Posts: 128
Joined: 23. Dec 2011, 14:23
Contact:

Re: Invoke Powershell Problem

Post by cboss » 07. Oct 2021, 14:58

Hallo,

es scheint tatsächlich so, dass das Casting des Ausgabeparameters das Problem hervorruft.
Ich würde einmal im Powershell versuchen die Variable am Ende explizit als Guid zu casten bzw. sogar in eine ganz neue "ausgabeVar" (Beispiel) übertragen:

Code: Select all

$ausgabeVar = [GUID]$AgentGUID
neo42 GmbH
Ihr Partner für Unified Endpoint Management, IT Service Management, Software Asset Management und Enterprise Mobility Management
http://www.neo42.de
--------------------------------------------------------------------------
Morpheus42
Entdecke mit uns die Welt des Enterprise Service Management & Matrix42
https://www.morpheus42.com

AndreVogel
Posts: 32
Joined: 23. Apr 2015, 14:38
Contact:

Re: Invoke Powershell Problem

Post by AndreVogel » 08. Oct 2021, 12:35

Also wir konnten den Fehler zumindest eingrenzen. Scheinbar wird die Powershell innerhalb der Invoke Powershell Kachel in einem anderen Kontext ausgeführt.
Bei unserem Testsystem wird diese im AdminUser Kontext ausgeführt, während sie auf unserem Produktivsystem im Servername$ Kontext ausgeführt wird.
Mir ist aber nicht bewusst das man das irgendwie einstellen oder konfigurieren kann.
Gibt es da Ideen?

Gruß Andre
Mit freundlichen Grüßen
i. A.

Andre Vogel
Systemarchitekt
Stadtbetrieb Informations- und Kommunikationssysteme
402.1303 ServiceDesk

An der Bergbahn 33
42289 Wuppertal

E-Mail andre.vogel@stadt.wuppertal.de

http://www.wuppertal.de

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 7962
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Re: Invoke Powershell Problem

Post by Hendrik_Ambrosius » 11. Oct 2021, 11:45

Kann es sein, dass die Matrix42 Services (Engine, etc.) in dem jeweiligen Kontext laufen, also einmal mit Account und einmal local system?
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

AndreVogel
Posts: 32
Joined: 23. Apr 2015, 14:38
Contact:

Re: Invoke Powershell Problem

Post by AndreVogel » 11. Oct 2021, 12:12

Ich hab gerade extra nochmal geguckt. Auf beiden Systemen laufen jeweils alle Matrix Dienste mit dem selben Konto, keins mit local System sondern alle mit unserem Admin User.
Die Initialinstallation und die jeweiligen Updates via Configuration Wizard spielen wir auch jedes mal mit dem selben Admin User ein.

Auf dem Produktivsystem sehe ich aber auch im TaskManager unter Details das die Powershell als SYSTEM gestartet und genutzt wird. Da ich selber keine Powershell offen hab auf dem Server sind das vermutlich die ganzen Powershell Instanzen, die innerhalb des Workflows gestartet sind bzw. aktuell laufen. Jetzt ist natürlich die Frage warum unser Matrix System die Powershell als SYSTEM startet.
Mit freundlichen Grüßen
i. A.

Andre Vogel
Systemarchitekt
Stadtbetrieb Informations- und Kommunikationssysteme
402.1303 ServiceDesk

An der Bergbahn 33
42289 Wuppertal

E-Mail andre.vogel@stadt.wuppertal.de

http://www.wuppertal.de

Post Reply

Return to “Administration”

Who is online

Users browsing this forum: No registered users and 7 guests