Удалить пользователя домена из локальных групп

Помощь Я пытаюсь удалить пользователей домена из локальных групп, и каждый раз, когда я пытаюсь получить локальные группы для пользователя домена, коллекция пуста. Как я могу удалить пользователя домена из любых локальных групп на моем компьютере. Ниже приведен код, который я использую, и он отлично работает для локальных пользователей, но, как указано выше, для пользователей домена говорится, что у них нет локальных групп. Я точно знаю, что пользователь домена находится в группах 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();
                    }
                }

1 ответ

Решение

Для того, чтобы заставить это работать, я в конечном итоге должен был сделать.

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();
                            }
                        }
                    }
                }
Другие вопросы по тегам