2010-10-26 4 views

Répondre

2

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

Merci beaucoup! Cela fonctionne très bien! – Hrayr

Questions connexes