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

Services Windows Discussion :

recuperer l'utilisateur connecte avec un service tournant avec un compte localsystem


Sujet :

Services Windows

  1. #1
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2012
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 170
    Points : 234
    Points
    234
    Par défaut recuperer l'utilisateur connecte avec un service tournant avec un compte localsystem
    bonjour ,
    j'aimerais avec un service windows recuperer l'utilisateur connecté sur la machine
    j'ai tester cette fonction mais la methose managementobjectsearcher n'est pas reconnue
    si quelqu'un a une idéé ou une orientation ce serait excellent
    voici la fonction trouvée

    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
     private string CurrentUserName()
            {
                var s = new ManagementObjectSearcher
    		("SELECT UserName FROM Win32_ComputerSystem");
     
                string str = string.Empty;
     
                foreach (ManagementObject moobj in s.Get())
                {
                    if (moobj["UserName"] != null)
                    {
                        str = moobj["UserName"].ToString();
                    }
                }
     
                return str;
            }
    merci d'avance

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Elle n'est pas reconnue parce que tu dois ajouter une référence à System.Management dans ton projet. Puis tu fais click droit dans ton code sur ManagementObjectSearcher et tu vas dans "Résoudre" pour ajouter l'instruction Using qui va bien
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2012
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 170
    Points : 234
    Points
    234
    Par défaut
    merci beaucoup
    il fallait aller faire un clic droit sur le projet puis "ajouter une reference" et selectionner system.management
    enfin comme precisé,finir par utiliser le using system.management
    à ce moment la le code nous donne l 'utilisateur connecté meme si le service windows est en localsystem
    code tres interressant
    merci encore une fois

  4. #4
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2012
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 170
    Points : 234
    Points
    234
    Par défaut
    salut
    je voudrais poser une derniere question concernat ce sujet qui a ete resolu.

    la methode CurrentUserName() ci dessus fonctionne a merveille et me donne l'utilisateur connecté mais si je souhaite avoir le sid de celui ci comment est ce que je pourrais proceder.

    si quelqu'un a une idée ce serais sympas

  5. #5
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Il faut requêter l'AD pour récupérer le SID. Deux solutions s'offrent à toi.

    La première est d'utiliser AccountManagement :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var pContext = new PrincipalContext(ContextType.Domain);
     
    var currentUser = UserPrincipal.FindByIdentity(pContext, "Le User Name");
    if(currentUser != null)
    {   
       var currentUserSID = currentUser.Sid;
    }
    La seconde solution consiste à passer par une requête LDAP traditionnelle, auquel cas je te suggère de regarder ce qui est proposé ici : Howto: (Almost) Everything In Active Directory via C#
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

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

Discussions similaires

  1. Service fonctionne avec webform mais pas avec winform
    Par yuriyan dans le forum Windows Communication Foundation
    Réponses: 0
    Dernier message: 22/11/2013, 18h58
  2. un script pour recuperer les utilisateurs connectés sur une machine
    Par s-ehtp dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 04/04/2008, 14h17
  3. Réponses: 10
    Dernier message: 08/01/2008, 21h03
  4. Réponses: 7
    Dernier message: 14/11/2007, 13h36
  5. recuperer le nom d'utilisateur connecté à la base access
    Par laurent.w dans le forum Sécurité
    Réponses: 4
    Dernier message: 17/01/2007, 07h12

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