Удаление пользователя в active directory с помощью c#

Я написал некоторый код, но не работает, он выдает исключение "произошла ошибка операций." код --->

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

дать мне некоторые идеи, чтобы выйти из этой вещи..

2 ответов


Если вы находитесь на .NET 3.5 и выше, вы должны проверить System.DirectoryServices.AccountManagement (С. ДС.АМ) пространства имен. Прочитать все об этом здесь:

в принципе, вы можете определить контекст домена и легко найти пользователей и / или группы в 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!


когда вы уже используете DirectoryEntry, нет необходимости в PrincipalContext или UserPrincipal.

Вы можете просто использовать DeleteTree() способ:

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