Executer un process, sous un nom d'utilisateur spécifique, par un service window
cs_Rastafman
Messages postés8Date d'inscriptionvendredi 27 octobre 2000StatutMembreDernière intervention19 juin 2008
-
12 juin 2008 à 11:00
cs_Rastafman
Messages postés8Date d'inscriptionvendredi 27 octobre 2000StatutMembreDernière intervention19 juin 2008
-
12 juin 2008 à 12:23
Bonjour à tous,
Voilà je me retrouve face à un problème assez étrange.
J'ai créé un service Windows qui doit lancer un process sous un utilisateur spécifique.
Problème, ça bloque sur le process.start().
Lorsque j'execute le code dans une Windows form alors pas de problème
le process est lancé sous le nom de l'utilisateur spécifié.
Alors la question que je me pose, c'est : Est-il possible de lancer un
process à partir d'un service en spécifiant le nom d'utilisateur à
utiliser ?
Voici mon code
privatevoid ExecutFile(string FileName, string Parameters, string PathName, bool bNeedWait)
{
Process p = new Process();
cs_Rastafman
Messages postés8Date d'inscriptionvendredi 27 octobre 2000StatutMembreDernière intervention19 juin 2008 12 juin 2008 à 12:23
Je me repond à moi même,
Le service est démarré en tant que localsystem, compte qui n'a pas le droit de lancer des process sous un autre nom d'utilisateur...
Je démarre donc le service avec l'utilisateur avec lequel je veux ouvrir le process.
Dans la classe d'installation (si username et password sont à null alors ils seront demandés à l'installation) :
this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.User;
this.serviceProcessInstaller1.Username = null;
this.serviceProcessInstaller1.Password = null;