使用c#删除活动目录中的用户

时间:2012-02-24 05:48:33

标签: c# active-directory

我已经编写了一些代码,但没有工作,它会抛出异常“发生了一个操作错误。” 代码--->

DirectoryEntry dirEntry = new DirectoryEntry("LDAP path", "admin-username", "admin-password");
dirEntry.Properties["member"].Remove("username-delete");
dirEntry.CommitChanges();
dirEntry.Close();

给我一​​些想法摆脱这些事情......

2 个答案:

答案 0 :(得分:11)

如果您使用的是.NET 3.5及更高版本,则应查看System.DirectoryServices.AccountManagement(S.DS.AM)命名空间。在这里阅读所有相关内容:

基本上,您可以定义域上下文并轻松在AD中查找用户和/或组:

// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// find the user you want to delete
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "SomeUserName");

if(user != null)
{
   user.Delete();
}

新的S.DS.AM让您可以轻松地与AD中的用户和群组一起玩!

答案 1 :(得分:0)

当您已经使用DirectoryEntry时,不需要PrincipalContext或UserPrincipal。

您只需使用DeleteTree()方法:

DirectoryEntry dirEntry = new DirectoryEntry("LDAP path", "admin-username", "admin-password");
dirEntry.DeleteTree();