IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Executer un process, sous un nom d'utilisateur spécifique, par un service windows


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Executer un process, sous un nom d'utilisateur spécifique, par un service windows
    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é.

    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    private void ExecutFile(string FileName, string Parameters, string PathName, bool bNeedWait)
            {
                Process p = new Process();
     
                AddToFile(FileName);
                p.StartInfo.FileName = FileName;
     
                p.StartInfo.WorkingDirectory = PathName;
                p.StartInfo.UserName = "uid";
                p.StartInfo.LoadUserProfile = true;
     
                System.Security.SecureString ss = new System.Security.SecureString();
                string s = "pwd";
                foreach (char c in s)
                {
                    ss.AppendChar(c);
                }
                p.StartInfo.Password = ss;
                p.StartInfo.Domain = "dmn";
                p.StartInfo.RedirectStandardError = true;
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.RedirectStandardInput = true;
     
                p.StartInfo.CreateNoWindow = true;
                p.StartInfo.UseShellExecute = false;
                p.Start();
     
                if (bNeedWait == true)
                {
                    p.WaitForExit();
                }
            }
    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 ?

    Merci, pour votre aide,
    Cordialement,
    Stéphane

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    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) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.User;
                this.serviceProcessInstaller1.Username = null;
                this.serviceProcessInstaller1.Password = null;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/11/2011, 18h57
  2. obtenir le nom d'utilisateur via un wcf service
    Par david lefaivre dans le forum ASP.NET
    Réponses: 0
    Dernier message: 17/06/2011, 17h13
  3. Réponses: 1
    Dernier message: 03/08/2008, 16h59
  4. Lancer un exécutable sous un nom d'utilisateur
    Par tane dans le forum Langage
    Réponses: 4
    Dernier message: 15/09/2006, 15h20
  5. Réponses: 4
    Dernier message: 22/04/2006, 09h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo