2012-01-20 148 views
1

我正在使用VS2005 .NET 2.0 C#。在Active Directory中添加新用戶

我目前正在參考一個網站在asp網頁上實現AD用戶管理。

我看過一種方法adds user to group

但是,有一些參數我不明白,並且知道要替換什麼。

下面是提供的方法:

public void AddToGroup(string userDn, string groupDn) 
{ 
    try 
    { 
     DirectoryEntry dirEntry = new DirectoryEntry("LDAP://" + groupDn); 
     dirEntry.Properties["member"].Add(userDn); 
     dirEntry.CommitChanges(); 
     dirEntry.Close(); 
    } 
    catch (System.DirectoryServices.DirectoryServicesCOMException E) 
    { 
     //doSomething with E.Message.ToString(); 

    } 
} 

userDngroupDn已經解釋,但我還是不知道該填什麼它

userDnCN=user, OU=USERS, DC=contoso, DC=com groupDn:用戶的distinguishedName來:該組的distinguishedname:CN=group,OU=GROUPS,DC=contoso,DC=com

我可以知道什麼是2參數和w我可以從這裏得到它們嗎?

回答

2

目錄是一個樹,至少每個對象是一個節點。這個tre中的每個對象都有一個可分辨名稱(DN),它看起來有點像計算機的DNS名稱。您可以使用資源工具包中的LDP.EXE工具(或本機安裝在W2K8上)通過LDAP願景查看Active Directory。你會發現這裏下一個LDAP AD視覺

LDP vision of an AD

MMC vision of an AD

你怎麼能找到他們:

對於組:

DirectoryEntry deBase = new DirectoryEntry("LDAP://dom.fr/dc=dom,dc=fr"); 
/* Directory Search for a group 
*/ 
DirectorySearcher dsLookForGrp = new DirectorySearcher(deBase); 
dsLookForGrp.Filter = String.Format("(cn={0})", "yourgroup"); 
dsLookForGrp.SearchScope = SearchScope.Subtree; 
dsLookForGrp.PropertiesToLoad.Add("distinguishedName"); 
SearchResult srcGrp = dsLookForGrp.FindOne(); 

string groupDN = srcGrp.Properties["distinguishedName"][0]; 

對於用戶:

/* Directory Search 
*/ 
DirectorySearcher dsLookForUser = new DirectorySearcher(deBase); 
dsLookForUser.Filter = String.Format("(&(objectCategory=person)(sAMAccountName={0}))", YourUser); 
dsLookForUser.SearchScope = SearchScope.Subtree; 
dsLookForUser.PropertiesToLoad.Add("distinguishedName"); 
dsLookForUser.PropertiesToLoad.Add("userPrincipalName "); 
dsLookForUser.PropertiesToLoad.Add("sAMAccountName"); 
SearchResult srcUser = dsLookForUser.FindOne(); 

string userDN = srcUser .Properties["distinguishedName"][0]; 
相關問題