2010-12-15 61 views
1

我有一個名爲Windows組沿着 「windgrp」 它裏面有三個成員:獲取Windows組成員與他們的域名

  • 管理員
  • testDomain.Administrator
  • USER1

我有此代碼可以顯示組中的成員:

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); 
     } 
    } 
} 

這給我結果:

  • 管理員
  • 管理員
  • 用戶

告訴我哪個域第二項所屬。

如何獲取域名?

回答

1

你需要走向對象的層次結構。所以如果你有你的用戶,你可以從那裏開始遞歸,尋找符合你的搜索條件的shcema類。

  public DirectoryEntry FindDomain(DirectoryEntry memberEntry) 
      { 

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

謝謝。對於答覆,我只是想知道它是如何返回memberentry的域名? – user175084 2010-12-15 20:51:29

+0

我去做你想做的事..謝謝... – user175084 2010-12-15 21:40:12