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

VB.NET Discussion :

Lister les membres Administrateur avec "DirectoryEntry" ?


Sujet :

VB.NET

  1. #1
    Membre actif
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    386
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Novembre 2004
    Messages : 386
    Points : 264
    Points
    264
    Par défaut Lister les membres Administrateur avec "DirectoryEntry" ?
    Bonjour a tous

    Je recherche désespérément de lister les utilisateurs qui ce trouve dans le groupe "administrateurs"

    J'ai réussi a créer un utilisateur, et a le mettre dans le groupe d'administrateur, a lister aussi les utilisateurs simple

    Mais comment faire pour lire les membres qui ce trouve dans un groupe ?
    et/ou
    Comment savoir quel utilisateur fait partie de quel groupe ? ("If DeUser.SchemaClassName.ToLower = "user" Then")


    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
     
            Dim De As New DirectoryEntry("WinNT://" & Environment.MachineName & ",computer")
            Dim DeNewUser As DirectoryEntry = De.Children.Add("CreateNewUserTest", "user")
     
            '
            ' Definir son mot de pass
            '
            DeNewUser.Invoke("SetPassword", New Object() {"#Mypassw0rd2009#"})
     
            '
            ' Application creation
            '
            DeNewUser.CommitChanges()
     
            '
            ' On l'ajoute dans le groupe Administrateurs
            '
            Dim DeGroupAdmins As DirectoryEntry = De.Children.Find("administrateurs", "group")
     
            '
            ' Vérification
            '
            If DeGroupAdmins IsNot Nothing Then
                DeGroupAdmins.Invoke("Add", New Object() {DeNewUser.Path.ToString()})
                Console.WriteLine("Création du compte réussie")
            End If
     
            '
            ' Liste tout les utilisateurs
            '
            For Each DeUser As DirectoryEntry In De.Children
                If DeUser.SchemaClassName.ToLower = "user" Then
                    Console.WriteLine(DeUser.Name & vbTab & DeUser.Properties("group").Value)
                End If
            Next
     
     
            '
            ' Delete User
            '
            De.Children.Remove(DeNewUser)
    Merci d'avance

  2. #2
    Membre actif
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    386
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Novembre 2004
    Messages : 386
    Points : 264
    Points
    264
    Par défaut
    Voila donc la solution
    je pense que vous pouvez mettre ce code dans la section tutorial ?

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
            Dim De As New DirectoryEntry("WinNT://" & Environment.MachineName & ",computer")
            Dim DeNewUser As DirectoryEntry = De.Children.Add("CreateNewUserTest", "user")
     
            '
            ' Definir son mot de pass
            '
            DeNewUser.Invoke("SetPassword", New Object() {"#Mypassw0rd2009#"})
     
            '
            ' Application creation
            '
            DeNewUser.CommitChanges()
     
            '
            ' On l'ajoute dans le groupe Administrateurs
            '
            Dim DeGroupAdmins As DirectoryEntry = De.Children.Find("administrateurs", "group")
     
            '
            ' Vérification
            '
            If DeGroupAdmins IsNot Nothing Then
                DeGroupAdmins.Invoke("Add", New Object() {DeNewUser.Path.ToString()})
                Console.WriteLine("Création du compte réussie")
            End If
     
            '
            ' Liste tout les utilisateurs
            '
            For Each DeUser As DirectoryEntry In De.Children
                If DeUser.SchemaClassName.ToLower = "user" Then
                    Console.WriteLine(DeUser.Name)
                End If
     
                '
                ' Liste tous les groupes et les utilisateur dans le groupe
                '
                If DeUser.SchemaClassName.ToLower = "group" Then
                    Dim DeGroups As DirectoryEntry = De.Children.Find(DeUser.Name, DeUser.SchemaClassName.ToLower)
                    For Each member As Object In CType(DeGroups.Invoke("Members"), IEnumerable)
                        Dim MemberInGroup As New DirectoryEntry(member)
                        Console.WriteLine(DeGroups.Name & vbTab & MemberInGroup.Name)
                    Next
                End If
            Next
     
     
            '
            ' Delete User
            '
            De.Children.Remove(DeNewUser)

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

Discussions similaires

  1. [VB.NET]Reflexion lister les membres d'une classe ...presque
    Par lucie.houel dans le forum ASP.NET
    Réponses: 19
    Dernier message: 20/09/2005, 14h49

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