1

Je travaille actuellement sur une application ASP.NET dans VB.NET et l'une de ses fonctions est d'utiliser le planificateur de tâches Windows. L'application aura besoin d'un contrôle total à ce sujet car elle doit créer, modifier, supprimer et exécuter des tâches.0x80070005 (E_ACCESSDENIED) Dans une application ASP.NET tout en essayant d'utiliser Windows Task Scheduler

J'ai trouvé this library pour aider avec le tout et ça marche bien mais seulement localement sur ma machine Windows XP. Dès que je déploie l'application sur IIS6 sous Windows Server 2003 et que j'accède à des pages utilisant mon objet Scheduler, j'obtiens l'erreur suivante.

L'accès est refusé. (Exception de HRESULT: 0x80070005 (E_ACCESSDENIED))

J'ai cherché différentes solutions sur le net qui incluent de donner aux utilisateurs spécifiques (et même tous) des autorisations à% windir% \ tâches à l'aide de CACLS qui ne fonctionne pas et également en utilisant l'emprunt d'identité et en ajoutant l'IUSER au groupe d'utilisateurs Backup Operations qui ne fonctionnera pas car l'application DOIT utiliser l'authentification intégrée de Windows. Une chose qui me dérange dans toute la situation est que l'utilisateur, je suis connecté comme lors du test de l'application peut très heureusement à distance bureau et se connecter au serveur et muck avec le planificateur de tâches. En outre, si j'exécute l'application localement dans Visual Studio (toujours sous le même utilisateur) et pointez l'application sur le planificateur de tâches du serveur, cela fonctionne correctement. De plus, si j'exécute l'application à partir du serveur et la pointe vers mon planificateur de tâches local, j'obtiens la même erreur "Accès refusé". Tout cela me fait penser que ce n'est pas une chose à faire pour les permissions du planificateur de tâches, mais quelque chose à voir avec les permissions sur certains composants que la bibliothèque du planificateur de tâches essaie d'utiliser.

Est-ce que quelqu'un sait ce que je pourrais faire pour résoudre cela ou même juste un pointeur dans la bonne direction, car cela me rend fou depuis plus d'une journée maintenant. Je dois dire que je suis un peu novice en ce qui concerne IIS Issues, Impersonation et Windows Server Security.

Merci beaucoup

+0

Vous devez transmettre les informations d'identification lorsque vous essayez d'utiliser le fichier exe \ TS. –

Répondre

1

Salut je kno je peux être en retard ce que vous pouvez faire est soit réglée la tâche à exécuter sous le NT AUTHORITY \ SYSTEM pour que l'utilisation de cette

(C#)

chaîne NULL = null; task.SetAccountInformation ("", NULL);

et de définir pour l'utilisateur actuel donne le nom d'utilisateur

string username = "votre nom d'utilisateur xp";
ou string nom d'utilisateur = System.Security.Principal.WindowsIdentity.GetCurrent(). Name; chaîne NULL = null;

task.SetAccountInformation (nom d'utilisateur, NULL);

qui fonctionnera pour vous j'espère !!!! et laissez-moi savoir comment c'était !!!

+0

Hey, ce problème a miraculeusement disparu lorsque la solution a été déplacée vers le serveur sur lequel elle était supposée être installée. Ce projet était sorti il ​​y a un certain temps et je ne travaille plus pour cette entreprise alors j'ai peur de ne pas pouvoir tester votre solution! Bravo de toute façon – tonicblue

+0

aucun problème mate espère que vous ne trouvez pas de tels problèmes à venir !!!! ;-) –

Questions connexes