2012-12-10 107 views
1

幫助我試圖從本地組中刪除域用戶,每次我嘗試獲取域用戶的本地組時,該收集都是空的。如何從我的機器上的任何本地組中刪除域用戶。下面是我使用的代碼,它對本地用戶來說工作正常,但正如上面在域用戶中所說的那樣,它說他們沒有本地組。我知道域用戶位於本地計算機上的用戶和IIS_USRS組中。從本地組中刪除域用戶

using (PrincipalContext localContext = new PrincipalContext(ContextType.Machine)) 
      { 
       try 
       { 
        foreach (GroupPrincipal principal in user.GetGroups(localContext)) 
        { 
         principal.Members.Remove(user); 
         principal.Save(localContext); 
         principal.Dispose(); 
        } 
       } 
+0

如果使用.NET Framework 3+,見[這個問題](http://stackoverflow.com/questions/2143052/adding-and-removing-users-from-active-directory-groups-in-淨) –

回答

0

爲了得到這個工作,我最後不得不做的事。

using (PrincipalContext localContext = new PrincipalContext(ContextType.Machine)) 
      { 
       try 
       { 
        foreach (string g in groups) 
        { 
         using (GroupPrincipal localGroup = GroupPrincipal.FindByIdentity(localContext, IdentityType.Name, g)) 
         { 
          foreach (Principal groupUser in localGroup.GetMembers().Where(groupUser => user.Name.Equals(groupUser.Name))) 
          { 
           localGroup.Members.Remove(groupUser); 
           localGroup.Save(); 
          } 
         } 
        } 
       }