Geplante Task, die bei Bedarf ausgeführt wird, jedoch nicht von selbst mit gespeicherten Windows-Anmeldeinformationen

643
user1676874

Ich habe eine geplante Aufgabe, die eine Anwendung ausführen soll, die sich auf einem Server befindet .

Der Zugriff auf den Server ist nur einem bestimmten Benutzer gestattet. Um eine solche Anwendung ausführen zu können oder sogar den Inhalt des angegebenen Anwendungspfads zu durchsuchen, müssen Sie sich mit Benutzeranmeldeinformationen anmelden. Diese Anmeldeinformationen wurden dem Windows-Anmeldeinformations-Manager als Windows-Anmeldeinformationen hinzugefügt .

Da die Anmeldeinformationen bereits gespeichert sind, kann ich leicht auf den Ordner zugreifen, in dem sich die Anwendung befindet, und ich kann sie sogar selbst dort ohne Probleme ausführen.

Das Problem tritt auf, wenn die Anwendung von der geplanten Task ausgeführt werden soll. Wenn die Trigger die Task ausführen, kann sie den angegebenen Pfad nicht finden und endet mit dem Exit-Code 0x80070002 .

Ich finde das problematisch, denn wenn ich zum Task-Scheduler gehe und die Task, die die Anwendung auf dem Server ausführt, manuell ausführt, klappt es gut, es führt die Anwendung aus und beendet den Code 0x0, ohne dabei die Berechtigungsnachweise zu ändern. Dies behebt sich auch, wenn ich den Pfad der Anwendung auf dem Server besuche.

Die geplanten Auslöser der Task sollen die Anwendung stündlich ausführen. Sobald die Task fehlgeschlagen ist, schlägt sie jedoch stündlich fehl. Wenn sie ordnungsgemäß ausgeführt wurde, läuft sie jede weitere Stunde einwandfrei.

Der Pfad des Servers wird durch eine IP-Adresse definiert, nicht durch eine Domäne.

Dies geschieht in der Regel erst, wenn Sie den Computer zum ersten Mal am Tag einschalten. Wenn er funktioniert hat, funktioniert er auch, wenn ich den Computer neu starte.

Andere geplante Aufgabeneinstellungen:

  • Nur ausführen, wenn der Benutzer angemeldet ist.
  • Auslöser: stündlich
  • Aktion: Starten Sie ein Programm.
  • Bedingung: Starten Sie, solange es an ein Netzwerk angeschlossen ist.
  • Task kann bei Bedarf ausgeführt werden.
  • Stoppen Sie die Aufgabe, wenn sie länger als 5 Minuten dauert
  • Wenn die laufende Task nicht auf Anforderung endet, erzwingen Sie den Stopp.

Was könnte dieses Verhalten verursachen? Warum funktioniert es nicht, wenn die Task vom Scheduler ausgeführt wird?

0
Sie sind sich nicht sicher, aber können Sie das Kästchen für "Als höchste Privilegien ausführen" markieren? Außerdem muss der Benutzer, der ausgeführt wird, wenn er kein Domänenadministrator ist, möglicherweise im Gruppenrichtlinienobjekt unter der Benutzerliste "Als Stapel ausführen" festgelegt werden. Eine weitere Sache, findet eine Interaktion auf einem Netzlaufwerk statt? Beim Starten eines Backups stellt ein Computer manchmal keine Verbindung zu den zugeordneten Laufwerken her. Daher sollten Sie nur vollständige UNC-Pfade verwenden, z. Stellen Sie außerdem sicher, dass der Sccript selbst nicht auf ein zugeordnetes Laufwerk verweist und UNC-Pfade verwendet Narzard vor 6 Jahren 0
Ich habe vergessen zu erwähnen, aber ja, das "Ausführen mit den höchsten Privilegien" ist angekreuzt. Das Laufwerk ist nicht zugeordnet, der Pfad lautet wie folgt: `\\ #. #. #. # \ Ordner \ App`. Ich bin mir nicht sicher, was diesen speziellen Aspekt des Gruppenrichtlinienobjekts dieses Benutzers angeht. Ich muss das morgen überprüfen. user1676874 vor 6 Jahren 0
Ist der Benutzer in angegeben, verwenden Sie beim Ausführen der Task das folgende Benutzerkonto: `derselbe Benutzer, der die Berechtigung zum Ausführen der Anwendung hat? Twisty Impersonator vor 6 Jahren 0
@ TwistyImpersonator: Ja. user1676874 vor 6 Jahren 0
Führt die Task eine ausführbare Datei aus, die auf einem anderen Computer gespeichert ist? Was ist in dem Feld, in dem Sie angeben, welches Programm ausgeführt werden soll? Twisty Impersonator vor 6 Jahren 0
@ TwistyImpersonator Ja, das tut es. Der Pfad des Programms \\ #. #. #. # \ Pfad \ app.exe user1676874 vor 6 Jahren 0
Ist die App ein Befehlszeilen- / Konsolenprogramm oder eine grafische Benutzeroberfläche? Erwägen Sie, dass die Task eine Batchdatei ausführt, die wiederum die App ausführt. Dann können Sie in der Batchdatei einige einfache Protokollierungen durchführen, um zu sehen, ob die Aufgabe tatsächlich auf diesen Pfad zugreifen kann (z. B. Ping der IP-Adresse, Zuordnung eines Laufwerks zur Remote-Freigabe usw.). Twisty Impersonator vor 6 Jahren 0
@TwistyImpersonator Es ist eine Konsolenanwendung, die im Hintergrund ausgeführt wird. user1676874 vor 6 Jahren 0
Versuchen Sie auch, die Aufgabe nach einer kurzen Verzögerung zu starten. Twisty Impersonator vor 6 Jahren 0
Warten Sie eine Sekunde ... Wenn Sie sich als Benutzer anmelden müssen, damit die Task ausgeführt werden kann, warum mussten Sie die Anmeldeinformationen des Benutzers im Anmeldeinformations-Manager speichern? Das macht keinen Sinn. Twisty Impersonator vor 6 Jahren 0
@TwistyImpersonator Die Task soll mit dem aktiven Benutzer ausgeführt werden. Das von mir erwähnte Login ist nur für den freigegebenen Netzwerkordner erforderlich, für den eine Authentifizierung erforderlich ist user1676874 vor 6 Jahren 0
@ user1676874 Ich frage mich, ob das das Problem ist. Versuchen Sie, einen Befehl "net use" auszuführen, um der Zielfreigabe ein Laufwerk zuzuordnen, bevor Sie den Zielbefehl ausführen. Sie müssen dies in einer Batchdatei tun. Twisty Impersonator vor 6 Jahren 0

0 Antworten auf die Frage