Neu Auftragsimport mittels Powershell und Aufgabenplanung, Workflow wird nicht ausgeführt

ple

Sehr aktives Mitglied
20. August 2019
444
58
Hallo zusammen,
Wawi 1.6.45.2
ich habe hier ein kleines Problem und bin mir nicht sicher, woran es liegen könnte.
Mittels Aufgabenplanung von Windows will ich das script aufrufen alle 5 min.

Programm:
powershell.exe
Parameter:
-NoProfile -ExecutionPolicy Bypass -Command "& 'C:\JTL\test\Auftragimport.ps1'"

In der PS Datei gibt es dann
Code:
[string[]]$AmeiseArguments = ("--server=$SQLInstance ", "--database=$SQLDatabase", "--dbuser=$SQLUsername", "--dbpass=$SQLPassword", "--templateid=IMP4", "-i $csvPath", "--nostdout")
    Start-Process -NoNewWindow "C:\Program Files (x86)\JTL-Software\JTL-wawi-ameise.exe" $AmeiseArguments -Wait

Führe ich dieses Script per CMD oder Visual Studio oder Rechtsklick "Mit Powershell ausführen", dann wird der Auftrag auch richtig importiert, und der Workflow wird ausgelöst. Zum testen lasse ich den Winpopper eben hochkommen.

Dann habe ich den Aufgabenplaner eingerichtet, ich wollte es nicht vom Benutzer abhängig machen. Also so:
Screenshot 2023-01-10 135428.png
So wird der Auftrag zwar importiert durch die Ameise, aber der Workflow wird nicht ausgelöst. Vorteil so ist aktuell, dass sich kein Windows Powershell Fenster öffnet, das würde auch ein wenig stören.
Ändere ich den Aufgabenplaner auf den User, so wird ein Popup geöffnet mit der Powershell und der Auftrag wird importiert und dabei wird der Workflow auch ausgeführt.

Kurz gesagt,
Aufgabenplaner Benutzer unabhängig, Workflow wird nicht ausgeführt.
Wird das Script mit einem user ausgeführt, dann wird auch der Workflow getriggert.

Ist der Workfow Trigger wirklich vom User abhängig? Ich hätte jetzt eher drauf getippt, das der Trigger aus der Datenbank kommt, wenn Auftrag angelegt, dann ...

Hat da vielleicht einer einen Tip für mich?

Gruß und Danke
 

ple

Sehr aktives Mitglied
20. August 2019
444
58
So richtig komme ich da nicht weiter.
Ich habe jetzt auch mal versucht, die Ameise nur mit einer bat Datei auszuführen über den Aufgabenplaner von Windows, aber da ist genau das gleiche Problem.
Sobald ich die Einstellung "Unabhängig von der Benutzeranmeldung" wähle wird
der Auftrag zwar importiert, aber der Workflow für ein Programm starten wird einfach nicht auslöst, egal ob es der winpopper ist oder mein PS Script.
Mir fällt aber auf, dass der Workflow für die Versandart ändern normal durchläuft.

Ich möchte aber gerne Unabhängig sein vom Benutzer, damit auch Aufträge importiert werden, wenn der User mal nicht angemeldet ist.

Hat da einer vielleicht das gleiche Problem vielleicht?
 

ple

Sehr aktives Mitglied
20. August 2019
444
58
die laufen direkt,
ich weiß gar nicht ob es bei der 1.5 auch so war, das müsste ich noch mal testen heute abend.
Jedenfalls wird ein Workflow "ausführen" nicht gestartet, wenn es über den Aufgabenplaner läuft und Unabhängig von der Benutzeranmeldung angeklickt ist.

Was mir gerade noch aufgefallen ist, es kommt ja normal eine Meldung unten rechts von Windows, dass ein Workflow ausgelöst worden ist. Selbst das kommt nicht mal, wenn die Versandart geändert wird durch den Workflow.
Ganz komisch.
 

John

Sehr aktives Mitglied
3. März 2012
2.592
496
Berlin
Dieses "unabhängig von der Benutzeranmeldung ausführen" könnte ein Problem sein. Probier mal aus, das ganze in dem Benutzerkontext auszuführen, in dem es manuell funktioniert.
 

ple

Sehr aktives Mitglied
20. August 2019
444
58
ich denke auch, dass es ein Problem ist, weil der Aufgabenplaner dieses auch nicht zu ende führen kann.
Wenn ich es mit dem Benutzer durchlaufen lassen, der angemeldet sein sollte, dann klappt es. Da kommt nur die blöde Console von Powershell hoch, habs nicht geschafft die zu unterdrücken und es ist ein wenig blöde, falls der Rechner mal neustartet, weil dann der user noch nicht angemeldet ist.

Ich finde es trotzdem ein wenig komisch, dass der Auftrag und die Workflows für Versandart ändern laufen, nur mein Ausführen nicht.
 

ple

Sehr aktives Mitglied
20. August 2019
444
58
Ich muss hier noch mal nachfragen, sorry.
ich habe es immer noch nicht geschafft, das ein Workflow (WinPopper) ausgelöst wird, wenn mit der Ameise importiert wird.
Testweise habe ich das mal über eine batch Datei gemacht, die dann das kleine Powershellscript ausführt. Da kann man es gut mit testen.
Führe ich die batch als User aus, also einfach doppeltklick, öffnet sich die Console, dann die Console der Ameise und der Auftrag wird importiert und der Workflow für den Winpopper läuft auch.
Also alles normal wie es sollte.

Öffne ich die batch aber als Administrator, dann poppen die Consolen auf, Auftrag wird importiert, aber der Workflow "ausführen" (Winpopper) funktioniert nicht, Versandart setzen jedoch schon. Was auch auffällt, unten rechts pop die Benachteiligung nicht auf.

es kommt mir komplett so vor, dass es an den Rechten von Windows oder so liegt. Windows ist frisch installiert.

ist hier keiner dabei, der mittels Powershell die Ameise auslöst und damit auch einen Workflow?

Gruß und Danke.

Anbei der code für den Start der Ameise für Powershell

Code:
[string[]]$AmeiseArguments = ("--server=$SQLInstance ", "--database=$SQLDatabase", "--dbuser=$SQLUsername", "--dbpass=$SQLPassword", "--templateid=IMP4", "-i $csvPath", "--nostdout")
    Start-Process "C:\Program Files (x86)\JTL-Software\JTL-wawi-ameise.exe" -ArgumentList $AmeiseArguments -Wait