Ben een beetje aan het knutselen met een AD Tool.
Deze tool moet users in een bepaalde group kunnen knallen en natuurlijk ook uitlezen.
Ook een totaal overzicht van alle users in AD moet deze op kunnen halen.
Het ophalen van users, werkt, prima zelfs.
Het toevoegen van een user in een group, dat is een ander verhaal.
Ik gebruik hiervoor de DirectoryServices, daarbinnen een LDAP string voor de verbinding met AD.
Dit alles test ik op een VM waarop zowel mijn Visual Studio als AD staat, en hierop log ik in met een user welke Enterprise Admin is binnen AD.
De code die ik gebruik (of probeer te gebruiken) voor een user aan AD toe te voegen is als volgt.
Er is op de site een listbox waarin alle users staan, daarin selecteer je een user en drukt op toevoegen.
Verder is er een list (Users) waarin alle gebruikers staat welke ik daarvoor op AD heb gehaald.
Deze is opgebouwd als:
samaccountname|achternaam voornaam
Daarna loop ik eerst door de list heen met alle users, en als de naam welke in de listbox stond, overeenkomt met de naam na het | karakter probeert hij deze toe te voegen.
De error die ik krijg is lekker generiek, en het enige wat ik eruit kan halen is dat het een userprobleem is:
Edit:
Zojuist achter gekomen dat die op zijn bek gaat op deGroup.Properties["member"].Add(li.Remove(li.IndexOf('|')));
Deze tool moet users in een bepaalde group kunnen knallen en natuurlijk ook uitlezen.
Ook een totaal overzicht van alle users in AD moet deze op kunnen halen.
Het ophalen van users, werkt, prima zelfs.
Het toevoegen van een user in een group, dat is een ander verhaal.
Ik gebruik hiervoor de DirectoryServices, daarbinnen een LDAP string voor de verbinding met AD.
Dit alles test ik op een VM waarop zowel mijn Visual Studio als AD staat, en hierop log ik in met een user welke Enterprise Admin is binnen AD.
De code die ik gebruik (of probeer te gebruiken) voor een user aan AD toe te voegen is als volgt.
Er is op de site een listbox waarin alle users staan, daarin selecteer je een user en drukt op toevoegen.
Verder is er een list (Users) waarin alle gebruikers staat welke ik daarvoor op AD heb gehaald.
Deze is opgebouwd als:
samaccountname|achternaam voornaam
Daarna loop ik eerst door de list heen met alle users, en als de naam welke in de listbox stond, overeenkomt met de naam na het | karakter probeert hij deze toe te voegen.
De error die ik krijg is lekker generiek, en het enige wat ik eruit kan halen is dat het een userprobleem is:
Iemand enig idee hoe en wat?An operations error occurred.
Edit:
Zojuist achter gekomen dat die op zijn bek gaat op deGroup.Properties["member"].Add(li.Remove(li.IndexOf('|')));
C#:
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
| private void AddUser() { string name = ListBox1.SelectedItem.Text; foreach (string li in Users) { if(ListBox1.SelectedItem.Text == li.Remove(0, (li.IndexOf('|') + 1))) { try { DirectoryEntry deGroup = new DirectoryEntry(string.Format("LDAP://{0}/CN=<group>", Environment.MachineName)); //deGroup.Username = string.Format("{0}\\<user>", Environment.MachineName); //deGroup.Username = "<user>"; //deGroup.Password = "<password>"; deGroup.Properties["member"].Add(li.Remove(li.IndexOf('|'))); deGroup.CommitChanges(); deGroup.Close(); } catch (Exception ex) { throw new Exception(ex.Message); } } } } |
