Bonjour,
Je fait actuellement quelques test pour créer des utilisateurs et les affectés à un groupe sous Active Directory. Lorsque je créé un utilisateur celui-ci n'est pas rajouté dans le groupe Users mais à la racine de mon domaine. Ensuite lorsque je souhaite créé un groupe j ai cette erreur :
Le domaine spécifié n’existe pas ou n’a pas pu être contacté.
Petite précision j'ai installer Windows server 2008 sur une machine virtuelle, j'arrive à la ping et j'arrive à ajouter des Users avec c#
voici le code pour créer un groupe :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| public void CreateGroup(string Path, string name)
{
if (!DirectoryEntry.Exists("LDAP://CN=" + name + "," + Path))//erreur ici
{
try
{
DirectoryEntry entry = new DirectoryEntry("LDAP://" + Path);
DirectoryEntry group = entry.Children.Add("CN=" + name, "group");
group.Properties["sAmAccountName"].Value = name;
group.CommitChanges();
}
catch (Exception e)
{
Console.WriteLine(e.Message.ToString());
}
}
else { Console.WriteLine(Path + " already exists"); }
} |
que j'appelle comme ceci :
CreateGroup("192.168.56.101","groupTest");
la création d'un user :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| //la chaine en commentaire ne focntionne pas virtual box ?
DirectoryEntry Ldap = new DirectoryEntry("LDAP://192.168.56.101"/*"LDAP://CN=Users,CN=Builtin,DC=anthonylaubry,DC=local"*/, "Administrator", "ble@ch1988");
DirectoryEntry user = Ldap.Children.Add("cn="+textBox3.Text,"user");
user.Properties["SAMAccountName"].Add(textBox3.Text);
user.Properties["sn"].Add(textBox2.Text);
user.Properties["givenName"].Add(textBox1.Text);
user.Properties["description"].Add(textBox5.Text);
user.CommitChanges();
user.Invoke("SetPassword",textBox4.Text);
user.Properties["userAccountControl"].Value = 0x0200;
listUser.Add(new UserApp { Login = textBox3.Text, Prenom = textBox1.Text, Nom = textBox2.Text, Description = textBox5.Text });
MessageBox.Show("Ajout Correctement effectué.");
this.Close();
Form1 form = new Form1(container);
form.MdiParent = container;
form.WindowState = FormWindowState.Maximized;
container.Height = form.Height;
container.Width = form.Width;
form.Show(); |
Partager