1

J'ai une application de console .NET exécutée sur Windows Server 2003 en tant que tâche planifiée.Erreur lors de l'emprunt d'identité d'un utilisateur dans .NET dans une tâche planifiée

Cela utilise la classe Process pour exécuter une autre petite application console, mais elle utilise Process.StartInfo.Username pour emprunter l'identité d'un utilisateur pour l'exécuter en tant que.

Si le compte est personnifié dans la tâche planifiée dans un administrateur, il fonctionne parfaitement, mais sinon je reçois l'erreur:

‘The application failed to initialize properly (0xc0000142)’

J'ai essayé de donner à l'utilisateur « ouvrir une session en tant que "batch job" et "log on local" mais cela ne semble pas avoir d'effet. L'application de console démarre en tant qu'utilisateur usurpé, mais échoue ensuite.

Regarder Process Monitor, le dernier événement avant qu'il n'est:

Tool1.exe - Load Image - C:\WINDOWS\system32\kernel32.dll - SUCCESS

J'ai couru dépend de l'outil et il signale que c'est l'erreur:

GetProcAddress(0x77E40000 [c:\windows\system32\KERNEL32.DLL], "FlsAlloc") called from "c:\windows\system32\MSCOREE.DLL" at address 0x7900746D and returned 0x77E6B49C by thread 1. Exited "c:\stfinstall\stf\tools\tool1\TOOL1.EXE" (process 0xB3C) with code 1282 (0x502) by thread 1.

Si quelqu'un sait quoi que ce soit sur ce qui peut causer cette erreur, ou même mieux, comment je peux le réparer, s'il vous plaît faites le moi savoir!

Suggestions d'une approche alternative sont également les bienvenus

Merci :)

+0

Cela ressemble à un problème similaire à celui que vous rencontrez: http://stackoverflow.com/questions/362419/using-process-start-to-start-a-process-as-a-different- user-from-within-a-window –

Répondre

0

J'ai depuis résolu, le problème est qu'il ne marche pas avoir accès au bureau de l'utilisateur la tâche planifiée fonctionne comme, si il échoue. Les administrateurs semblent pouvoir avoir cet accès. La façon dont je l'ai fait contourner était de faire en sorte que l'utilisateur exécute la tâche comme étant perpétuellement connecté à la boîte, afin que l'accès au bureau soit toujours disponible, et cela fonctionne bien. Laid je sais!

Questions connexes