Удаление пользователя в 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
(С. ДС.АМ) пространства имен. Прочитать все об этом здесь:
- управление участниками безопасности каталогов в .NET Framework 3.5
- документы MSDN в системе.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();