2016-09-02 1 views
1

Ich bin versucht, eine geplante Aufgabe zu ändern, manuell in Windows Task-Scheduler erstellt, C# AnwendungC# Aufgabe Zeitplan ändern

enter image description here

mit dem folgenden Code:

rootFolder.RegisterTaskDefinition(taskEdit.Name, 
      taskDefinition, 6, null, null, _TASK_LOGON_TYPE.TASK_LOGON_NONE, null); 

Mein Code funktioniert einwandfrei, wenn ich diese Operation im Hauptaufgabenplaner-Ordner durchführe. Aber wenn ich versuche, eine Aufgabe in einem Unterordner zu ändern, bekam ich den Fehler

Zugriff verweigert. (Ausnahme von HRESULT: 0x80070005 (E_ACCESSDENIED))

Wenn versuchen Benutzernamen und Passwort verwenden statt null wie folgt:

rootFolder.RegisterTaskDefinition(taskEdit.Name, taskDefinition, 6, "username", "pwd", 
          _TASK_LOGON_TYPE.TASK_LOGON_INTERACTIVE_TOKEN_OR_PASSWORD, null); 

Ich habe den Fehler unten:

(48,4):UserId: 

Irgendwelche Ideen? Wirklich Danke!

+0

Ist '(48,4): UserId:' die vollständige Fehlermeldung? – Quantic

+0

Sorry @Quantic, es gibt keine weiteren Details in der Fehlermeldung; nur der Fehlercode (-1072894421) – Andrea

Antwort

0

Endlich habe ich die Lösung, zumindest für die Entwicklung Zeit ... Ich muss Visual Studio als Administrator ausführen. Auf diese Weise kann ich Aufgaben in jedem Ordner ändern.

+0

In der Produktionsumgebung setze ich Benutzername und Passwort (Benutzername als DOMÄNE \ Benutzername) und der Benutzer muss ein Administrator sein. – Andrea

1

Eine Lösung für Ihr Problem ist, Sie können Taskplaner Managed Wrapper verwenden, herunterladen unter https://taskscheduler.codeplex.com/.

Dies ist ein sehr leistungsfähiger Wrapper, der mit dem Windows Taskplaner arbeiten kann und auch das Problem "Zugriff verweigert" beherrscht.

+0

Ich benutze es jetzt und bekomme dieselbe Fehlermeldung zurück. – Mariusz