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 53 54 55 56
|
private bool AjoutActiveDirectory(string NomDuNouveauGroupe)
{
//Recuperation des infos de connexion
RecuperationParametrage();
bool Existe = false;
DirectoryEntry Ldap = new DirectoryEntry("LDAP://" + DomaineParametre, LogAdministrateur, MdpAdministrateur);
// Force l'authentfication a avoir lieu
object connect = Ldap.NativeObject;
//On filtre sur la catégorie Groupe
DirectorySearcher searcher = new DirectorySearcher(Ldap);
searcher.Filter = "(objectCategory=group)";
try
{
//On vérifie si le groupe existe déjà
foreach (SearchResult result in searcher.FindAll())
{
// On récupère l'entrée trouvée lors de la recherche
DirectoryEntry DirEntry = result.GetDirectoryEntry();
// On récupère le nom du groupe
string NomGroupe = (DirEntry.Properties["SAMAccountName"].Value != null) ? DirEntry.Properties["SAMAccountName"].Value.ToString() : String.Empty;
if (NomGroupe.ToUpper() == NomDuNouveauGroupe.ToUpper())
{
Existe = true;
break;
}
}
if (!Existe)
{
string Description = TxtSaisieCommentaire.Text;
DirectoryEntry group = Ldap.Children.Add("cn=" + NomDuNouveauGroupe.ToString(), "group");
group.Properties["SAMAccountName"].Add(NomDuNouveauGroupe.ToString());
group.Properties["desription"].Add("description");
group.CommitChanges();
}
Ldap.Close();
return true;
}
catch (Exception Erreur)
{
throw Erreur;
}
} |
Partager