Agregar nuevo usuario en Active Directory

Estoy usando VS2005 .NET 2.0 C #.

Actualmente estoy haciendo referencia a un sitio web para implementar la administración de usuarios de AD en la página web de asp.

He visto un método que adds user to group .

Sin embargo, hay algunos parámetros que no entiendo y no sé con qué reemplazar.

A continuación se muestra el método proporcionado:

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

userDn y groupDn han sido explicados pero todavía no sé qué rellenar

userDn : el nombre distinguido del usuario: CN=user, OU=USERS, DC=contoso, DC=com groupDn : el nombre distinguido del grupo: CN=group,OU=GROUPS,DC=contoso,DC=com

¿Puedo saber cuáles son los 2 parámetros y de dónde puedo obtenerlos?

Un directorio es un árbol en el que cada objeto es un nodo. Cada objeto en este árbol obtuvo un Nombre Distinguido (DN), se parece un poco al nombre DNS de una computadora. Puede consultar su Active-Directory con una visión LDAP usando la herramienta LDP.EXE del kit de recursos (o de forma nativa en la versión W2K8). Encontrarás aquí bajo una visión LDAP AD

LDP visión de un AD

para

MMC vision de un AD

¿Cómo puedes encontrarlos?

Para el grupo:

 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]; 

Para el usuario:

 /* 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];