Win Server 2012 R2 - per Task Scheduler eine EXE-Datei starten
Hallo Gemeinde
nach langem suchen im Netz, wende ich mich doch hierher.
Ich muss auf einem Server per Task Scheduler, zeitgesteuert, eine EXE-Datei starten.
Dies muss dann geöffnet werden und es wird ein Report erzeugt, der dann in einem Verzeichnis abgelegt wird.
Rechte für den User sind entsprechend vorhanden, über den der Task läuft.
Ob der User nun am Server angemeldet ist oder nicht.
Anbei 2 Screenshots, bzgl. den Einstellungen bzw. der Fehlermedlung, die ich in der History sehe.
Leider finde ich auch nichts gescheites dazu, was das sein könnte.
Mein Gedanke ist gerade, muss ich im Task angeben bzw. kann ich im Task angeben, mit welcher User-ID das Program bzw. die EXE gestartet werden soll?
Die User-ID, die den Task startet ist auch die User-ID, die die EXE dann öffnen muss.
Eventuell auch die Alternative, dass ich ein PowwerShell Skript habe, was ich dann per Task starte.
Das im Script die Exe mit dem entsprechenden User geöffnet und nach ca. 10Minuten wieder geschlossen wird.
Bestenfalls, das ich die User-ID eintragen kann incl Passwort, dass es da dann keine Probleme gibt.
Nach powerShell habe ich im netz auch geschaut.
Leider nichts passendes und ich bin da leider nicht firm drin.
Könnt Ihr mir da helfen?
Das wäre schön
Ich danke vorab schon einmal für Eure Mühe
Grüße
nach langem suchen im Netz, wende ich mich doch hierher.
Ich muss auf einem Server per Task Scheduler, zeitgesteuert, eine EXE-Datei starten.
Dies muss dann geöffnet werden und es wird ein Report erzeugt, der dann in einem Verzeichnis abgelegt wird.
Rechte für den User sind entsprechend vorhanden, über den der Task läuft.
Ob der User nun am Server angemeldet ist oder nicht.
Anbei 2 Screenshots, bzgl. den Einstellungen bzw. der Fehlermedlung, die ich in der History sehe.
Leider finde ich auch nichts gescheites dazu, was das sein könnte.
Mein Gedanke ist gerade, muss ich im Task angeben bzw. kann ich im Task angeben, mit welcher User-ID das Program bzw. die EXE gestartet werden soll?
Die User-ID, die den Task startet ist auch die User-ID, die die EXE dann öffnen muss.
Eventuell auch die Alternative, dass ich ein PowwerShell Skript habe, was ich dann per Task starte.
Das im Script die Exe mit dem entsprechenden User geöffnet und nach ca. 10Minuten wieder geschlossen wird.
Bestenfalls, das ich die User-ID eintragen kann incl Passwort, dass es da dann keine Probleme gibt.
Nach powerShell habe ich im netz auch geschaut.
Leider nichts passendes und ich bin da leider nicht firm drin.
Könnt Ihr mir da helfen?
Das wäre schön
Ich danke vorab schon einmal für Eure Mühe
Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 591240
Url: https://administrator.de/contentid/591240
Ausgedruckt am: 14.11.2024 um 07:11 Uhr
10 Kommentare
Neuester Kommentar
Zitat von @ZTommy:
Ich muss auf einem Server per Task Scheduler, zeitgesteuert, eine EXE-Datei starten.
Dies muss dann geöffnet werden und es wird ein Report erzeugt, der dann in einem Verzeichnis abgelegt wird.
Rechte für den User sind entsprechend vorhanden, über den der Task läuft.
Ob der User nun am Server angemeldet ist oder nicht.
OK,Ich muss auf einem Server per Task Scheduler, zeitgesteuert, eine EXE-Datei starten.
Dies muss dann geöffnet werden und es wird ein Report erzeugt, der dann in einem Verzeichnis abgelegt wird.
Rechte für den User sind entsprechend vorhanden, über den der Task läuft.
Ob der User nun am Server angemeldet ist oder nicht.
- Das Verzeichnis liegt wo? Netzlaufwerk oder lokal? Wenn Netzlaufwerk bitte erst mal nur UNC-Pfade nutzen statt gemappte Laufwerke.
- Hat der User passende Rechte für das Verzeichnis in dem die Reports abgelegt werden?
- Passende Rechte um die Exe ausführen zu dürfen
- User darf sich an dem Rechner auch anmelden?
Anbei 2 Screenshots, bzgl. den Einstellungen bzw. der Fehlermedlung, die ich in der History sehe.
Leider finde ich auch nichts gescheites dazu, was das sein könnte.
Die Fehlermeldung deutet auf einen Low-Level CLR .NET Fehler der Anwendung hin. Schau ins Application-Log rein dort sollte ebenfalls was zu sehen sein, ansonsten die Exception in der Abfangen und loggen lassen.Leider finde ich auch nichts gescheites dazu, was das sein könnte.
Mein Gedanke ist gerade, muss ich im Task angeben bzw. kann ich im Task angeben, mit welcher User-ID das Program bzw. die EXE gestartet werden soll?
Natürlich, das legst du ja schon in den Einstellungen des Tasks fest mit der dieser ausgeführt wird. Mit diesen Credentials wird auch die EXE ausgeführt weil die die Credentials von der Umgebung des Tasks erbt .Eventuell auch die Alternative, dass ich ein PowwerShell Skript habe, was ich dann per Task starte.
Damit könntest du höchstens erreichen das du mehr Infos zum Fehler bekommst wenn es eine Konsolenapplikation wäre und die Exception in StdErr oder StdOut ausgegeben wird. Dazu dann die Exe so kapseln und ein Log schreiben lassen (Achtung auch für den Ordner müssen Schreibrechte vorhanden sein)Start-Transcript "D:\Ordner\log.txt"
start "C:\Pfad\deineexe.exe" -ArgumentList "/open" -wait
Stop-Transcript
Das im Script die Exe mit dem entsprechenden User geöffnet und nach ca. 10Minuten wieder geschlossen wird.
Wer schließt es, die Anwendung sich selbst, der Task mit Timeout oder was sonst??Bestenfalls, das ich die User-ID eintragen kann incl Passwort, dass es da dann keine Probleme gibt.
Die stehen schon in den Task-Einstellungen!Beachte auch das nicht jede Anwendung ohne einen Desktop bzw. UI klar kommt wenn diese als unbeaufsichtigt als Task ausgeführt wird!! Kläre das beim Hersteller der App ab
Wenn das läuft, dann kann der Fehler nur beim .Net sein.
Nein nicht bei .NET, bei der Anwendung die diese Exception nicht per Try-Catch abfängt 😉.Solche Fehler weisen meist auf mangelhafte Programmierung der Anwendung hin.
, aber dis ist leider keine Konsolenapplikation.
Dann kommt die Anwendung vermutlich nicht ohne Desktop klar.
Nein, der Code innerhalb der Anwendung selbst.
Für mich sieht das zu 90% so aus als wenn die Anwendung nicht für unbeaufsichtigte Ausführung ohne Desktop geeignet ist, da wird dann nur der Hersteller korrigieren können, oder man lässt es zwangsweise in einer Angemeldeten Session laufen (sehr unschön).
Laut einer java-Seite dient das dazu, zum Abfangen von Programmfehlern.
ist das richtig?
Ja, sogenannte "Exceptions". Mit dem Try Catch Konstrukt fängt der Programmierer solche Fehler ab und kann dann entsprechend darauf reagieren und dem User z.B. entsprechende Hinweise oder Exit-Codes bereitstellen.ist das richtig?
Für mich sieht das zu 90% so aus als wenn die Anwendung nicht für unbeaufsichtigte Ausführung ohne Desktop geeignet ist, da wird dann nur der Hersteller korrigieren können, oder man lässt es zwangsweise in einer Angemeldeten Session laufen (sehr unschön).
Stell die EXE doch mal zum Download dann kann ich die durch den Debugger jagen und dir vielleicht einen Lösungsansatz geben .
Sorry aber Anweisungen wie du das selbst machen könntest wären jetzt wohl offensichtlich zu komplex für dich.
Wenn das Bereitstellen der EXE nicht möglich ist wird's von hier aus sehr schwer weiter zu machen.
Sorry aber Anweisungen wie du das selbst machen könntest wären jetzt wohl offensichtlich zu komplex für dich.
Wenn das Bereitstellen der EXE nicht möglich ist wird's von hier aus sehr schwer weiter zu machen.
Naja, ohne irgendeinen Hinweis zu haben was der Code überhaupt macht geschweige denn ohne vorliegenden MaschinenCode kannst du dir sicher vorstellen daß das so gut wie unmöglich ist hier über Forenmittel irgendwas konkretes zu verzällen.
Wende dich dann eben nochmal konkreter an den Hersteller mit deinem spezifische Problem.
Wende dich dann eben nochmal konkreter an den Hersteller mit deinem spezifische Problem.