2010-12-15 50 views
1

j'ai un groupe de fenêtres appelé "windgrp" il a trois membres il:fenêtre Obtenir des membres du groupe ainsi que leurs noms de domaine

  • Administrateurs
  • testDomain.Administrator
  • user1

J'ai ce code pour afficher les membres présents dans un groupe:

using (DirectoryEntry groupEntry = 
    new DirectoryEntry("WinNT://./" + userGroupName + ",group")) 
{ 
    foreach (object member in (IEnumerable)groupEntry.Invoke("Members")) 
    { 
     using (DirectoryEntry memberEntry = new DirectoryEntry(member)) 
     { 

      listbox.itms.add(memberentry.name); 
     } 
    } 
} 

Cela me donne le résultat:

  • Administrateur
  • Administrateur
  • utilisateur

Il n'a pas me montrer à quel domaine l'entrée 2 appartient.

Comment puis-je obtenir le domaine?

Répondre

1

Vous devez remonter la hiérarchie des objets. Donc, si vous avez votre utilisateur, vous pouvez commencer la récursivité à partir de là, à la recherche de classes shcema qui répondent à vos critères de recherche.

  public DirectoryEntry FindDomain(DirectoryEntry memberEntry) 
      { 

       if(memberEntry.SchemaClassName.ToLower().Contains("domain") 
       { 
         return memberEntry; 
       } 
       if(memberEntry.Parent !=null) 
       { 
         return FindDomain(memberEntry.Parent); 
       } 
       return null; 
      } 
+0

merci. pour la réponse, je me demande juste comment est-ce qu'il me rend le nom de domaine pour le membre? – user175084

+0

je vais ce que tu essayais de faire .. merci ... – user175084