gpt4 book ai didi

c# - 使用 C# 和 AccountManagment 命名空间从远程计算机上的管理员组中删除用户帐户

转载 作者:行者123 更新时间:2023-11-30 17:15:58 26 4
gpt4 key购买 nike

我有代码:

 public bool RemoveUserFromAdministratorsGroup(UserPrincipal oUserPrincipal, string computer)
{
try
{
PrincipalContext oPrincipalContext = new PrincipalContext(ContextType.Machine, computer, null, ContextOptions.Negotiate, _sServiceUser, _sServicePassword);
GroupPrincipal oGroupPrincipal = GroupPrincipal.FindByIdentity(oPrincipalContext, "Administrators");

oGroupPrincipal.Members.Remove(oUserPrincipal);
oGroupPrincipal.Save();

return true;
}
catch
{
return false;
}

}

它的工作没有任何异常(exception)。但是当我再次运行我的应用程序时,我在我的 ListView 中看到了这个用户。因此,该用户未被删除。

最佳答案

我已经解决了没有 AccountManagment 命名空间的问题。

 public bool RemoveUserFromAdminGroup(string computerName, string user)
{
try
{
var de = new DirectoryEntry("WinNT://" + computerName);
var objGroup = de.Children.Find(Settings.AdministratorsGroup, "group");

foreach (object member in (IEnumerable)objGroup.Invoke("Members"))
{
using (var memberEntry = new DirectoryEntry(member))
if (memberEntry.Name == user)
objGroup.Invoke("Remove", new[] {memberEntry.Path});
}

objGroup.CommitChanges();
objGroup.Dispose();

return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
return false;
}
}

关于c# - 使用 C# 和 AccountManagment 命名空间从远程计算机上的管理员组中删除用户帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7622945/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com