Удалить пользователя в активном каталоге с помощью c # - PullRequest
7 голосов
/ 24 февраля 2012

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

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

дайте мне несколько идей, чтобы избавиться от этих вещей

Ответы [ 2 ]

11 голосов
/ 24 февраля 2012

Если вы используете .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!

0 голосов
/ 03 января 2018

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

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

DirectoryEntry dirEntry = new DirectoryEntry("LDAP path", "admin-username", "admin-password");
dirEntry.DeleteTree();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...