帮助我尝试从本地组中删除域用户,每次尝试获取域用户的本地组时,该集合为空。如何从计算机上的任何本地组中删除域用户。下面是我正在使用的代码,它适用于本地用户,但如上所述,域用户说它们没有本地组。我知道域用户位于本地计算机上的Users和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 :(得分: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();
}
}
}
}