1

ドメイン ユーザーをローカル グループから削除しようとしていますが、ドメイン ユーザーのローカル グループを取得しようとするたびにコレクションが空になります。マシンのローカル グループからドメイン ユーザーを削除するにはどうすればよいですか。以下は私が使用しているコードで、ローカル ユーザーに対しては正常に動作しますが、ドメイン ユーザーについては前述のように、ローカル グループがないと表示されます。私は、ドメイン ユーザーがローカル マシンの 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();
                    }
                }
4

1 に答える 1

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();
                            }
                        }
                    }
                }
于 2012-12-11T18:44:55.343 に答える