2009-01-25 9 views
14

Ich habe große Probleme, eine geplante Aufgabe auszuführen. Die Aufgabe wird ordnungsgemäß mit der von Microsoft bereitgestellten ITaskScheduler-Schnittstelle erstellt. Die Aufgabe wird nur ausgeführt, wenn ein Benutzer angemeldet ist.Programmgesteuertes Erstellen einer geplanten Aufgabe in Windows - 0x8004130f Fehler

Das Problem ist, dass die Aufgabe nicht ausgeführt und die Protokolldatei SchedLgU.txt den Grund als Wesen zitiert:

"The attempt to retrieve account information for the specified task failed; therefore, the task did not run. Either an error occurred, or no account information existed for the task. 

The specific error is: 

0x8004130f: No account information could be found in the Task Scheduler security database for the task indicated." 

ich für eine Tatsache, dass eine geplante Aufgabe ohne Kontoinformationen erstellt werden kann, weil Die geplante Google Updater-Aufgabe erledigt dies und es läuft gut.

Alles, was ich aus Web-Suchen sammeln kann, ist, dass Windows eine "geplante Task-Datenbank" hat, die Anmeldeinformationen für jede Aufgabe benötigt, damit sie ausgeführt werden kann.

Kann jemand diese Anmeldeinformationsdatenbank oder jede andere Möglichkeit ändern, um meine Aufgabe auszuführen?

+0

Ich habe jemanden mit genau dem gleichen Problem gefunden, der auch bemerkt hat, dass eine andere Anwendung dies ohne ein Passwort tun kann. Allerdings noch keine Antworten: http://www.codeguru.com/forum/showthread.php?t=355665 –

Antwort

2

Soweit ich weiß, und die Dokumentation sichert dies, ein Konto ist für eine geplante Aufgabe erforderlich. Wenn Sie festlegen, dass die Aufgabe nur ausgeführt wird, wenn ein Benutzer angemeldet ist, bedeutet dies nur, dass ein Kennwort nicht erforderlich ist. Sie benötigen dennoch ein Konto. Dieses Konto kann auf eine Gruppe festgelegt werden, sodass die Aufgabe ausgeführt wird, wenn sie ausgelöst wird, solange sich jemand in der Gruppe anmeldet. Zum Beispiel können Sie das Konto auf "Benutzer" einstellen, damit die Aufgabe ausgeführt werden kann, wenn jemand angemeldet ist.

+0

Leider funktioniert das nicht. Wenn Sie "Users" als Benutzernamen mit einem leeren Passwort festlegen, erhält die Aufgabe das Benutzernamefeld "BUILT-IN \ Users". Die Aufgabe kann jedoch nicht mit einem Fehler beginnen, der auf einen ungültigen Benutzernamen oder ein ungültiges Kennwort hinweist. –

+0

Die Verwendung eines Gruppenkontos funktioniert in Vista und Windows 2008 gut, wurde aber möglicherweise nicht von XP oder 2003 hinzugefügt, ich weiß nicht mehr, wann es hinzugefügt wurde. Die Voraussetzung, ein Konto zu haben, ist jedoch noch gültig. –

+1

Entschuldigung, dies war eine der zahlreichen Ergänzungen, die mit dem großen Upgrade auf Task Scheduler 2.0, das mit Vista geliefert wurde, enthalten sind. Wenn Sie XP oder 2003 benutzen, haben Sie kein Glück. –

23

Die GoogleUpdateTaskMachine Aufgabe verwendet das "NT AUTHORITY \ SYSTEM", um die Aufgabe zu starten. Sie können dies tun, indem Sie den Befehl schtasks verwenden und die Option/ru mit "System" oder "" als Parameter schaltet. Gefällt mir:

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /d 15 /ru "System" 

Es wird nicht nach einem Passwort gefragt.

Weitere Informationen finden Sie unter technet.

+3

Warum wurde das abgelehnt? Ich habe es zurückgewählt. – Greg

+0

great share! Ich schätze! –

+0

der Benutzer "System" hat keinen Netzwerkzugriff, wie würden wir das Programm mit Netzwerk ausführen? Angenommen, das Programm hängt vom Netzwerk ab? –

Verwandte Themen