Frage

Zur Zeit arbeite ich an einer ASP.NET-Anwendung in VB.NET und eine ihrer Aufgaben ist es, die Windows-Taskplaner zu verwenden. Die Anwendung wird so ziemlich die volle Kontrolle über diese benötigen, wie es erstellen muss, Ändern, Löschen und Ausführen Aufgaben.

Ich fand dieser Bibliothek Hilfe mit der ganzen Sache, und es funktioniert gut, aber nur lokal auf meinem Windows-XP-Rechner. Sobald ich die Anwendung auf IIS6 auf Windows Server 2003 und Zugriffsseiten bereitstellen, die mein Scheduler-Objekt verwenden, erhalte ich die folgende Fehlermeldung.

  

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

Ich habe für verschiedene Lösungen auf dem Netz gesucht, die bestimmte Benutzer gehören zu geben (und sogar jeder) Berechtigungen% windir% \ Tasks CACLS verwendet, die keine Arbeit haben und auch Identitätswechsel und das Hinzufügen des IUSER auf die Sicherungsoperationen User Group das wird nicht funktionieren, wie die Anwendung muss integrierte Windows-Authentifizierung verwenden.

Eine Sache, die mich über die ganze Situation ist verwirrend ist, dass der Benutzer ich angemeldet bin in als wenn die Anwendung testen kann ganz glücklich Remote-Desktop und die Anmeldung am Server und Dreck über mit dem Taskplaner. wenn ich die Anwendung lokal in Visual Studio (noch unter dem gleichen Benutzer) und zeigen die Anwendung auf der Taskplaner des Servers laufen auch, es funktioniert gut. Wenn ich die Anwendung auf dem Server und richten Sie sie auf meinem lokalen Taskplaner ich erhalte die gleiche „Zugriff verweigert“ Fehler weiter dazu führen. Das alles macht ich denke, es ist nicht ein Taskplaner Berechtigungen thingy sondern etwas zu tun ist, mit Berechtigungen für einige Komponenten, dass die Taskplaner-Bibliothek versucht zu verwenden.

Hat jemand wissen, was ich konnte diese oder auch nur einen Zeiger in der richtigen Richtung zu lösen tun, da dies mich jetzt seit über einen Tag verrückt wurde. Ich muss sagen, dass ich ein bisschen ein Neuling bin, wenn es um IIS Probleme, Identitätswechsel und Windows Server Security kommt.

Danke schön

War es hilfreich?

Lösung

Hey kno i i spät sein kann, was Sie können entweder tun gesetzt ist die Aufgabe, unter dem NT AUTHORITY \ SYSTEM zu laufen für diese Verwendung dieses

(C #)

string NULL = null; task.SetAccountInformation ( "", NULL);

und es für den aktuellen Benutzer, um den Benutzernamen geben

string username = "Ihr xp username";
oder String username = System.Security.Principal.WindowsIdentity.GetCurrent () Name. String NULL = null;

task.SetAccountInformation (Benutzername, NULL);

, die für Sie mich hoffen, funktionieren !!!! und lassen Sie mich wissen, wie es war !!!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top