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 :)
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 –