Si vous êtes sur .NET 3.5 (ou vous pouvez passer à), vous pouvez utiliser le nouvel espace de noms System.DirectoryServices.AccountManagement
pour rendre cela très facile.
En savoir plus sur ce nouveau bijou .NET 3.5 ici: Managing Directory Security Principals in the .NET Framework 3.5
// create a context - you need to supply your
// domain NetBIOS-style, e.g. "CONTOSO"
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "YOURDOMAIN");
// find the group you're interested in
GroupPrincipal gp = GroupPrincipal.FindByIdentity(ctx, "YourGroupName");
// enumerate the members of that group
// the "true" in GetMembers() means: enumerate recursively, e.g.
// if another group is found as member, its members are enumerated
PrincipalSearchResult<Principal> members = gp.GetMembers(true);
// iterate over the principals found
foreach(Principal p in members)
{
// test to see if it's a UserPrincipal
UserPrincipal up = (p as UserPrincipal);
if (up != null)
{
// if it is - set the new e-mail address
up.EmailAddress = "[email protected]";
up.Save();
}
}
Merci beaucoup! Cela fonctionne très bien! – Hrayr