У меня есть запланированная задача, которая выполняет сценарий PowerShell при удалении учетной записи пользователя из Active Directory. Есть ли способ проверить членство в группе этой учетной записи пользователя? Я пробовал с
If ((Get-ADUser $user -Properties MemberOf | Select -ExpandProperty MemberOF) -ccontains $groupname)
{
//code
}
но, к сожалению, это не сработало (и понятно почему).
Я думал о чем-то, как об использовании настроенного XML-файла для создания запланированной задачи, но ни в одном из этих случаев я не знаю, какое значение мне нужно запросить.
Любые идеи?
После удаления объекта учетной записи пользователя SID будет удален из всех групп, членом которых был объект. Вот почему я лично предпочитаю отключать учетные записи пользователей, а не удалять их.
Однако, если вы включили Корзина Active-Directory вы сможете восстановить объект учетной записи пользователя и всю информацию о членстве в группах с ним.
Есть несколько способов сделать это. Я предпочитаю использовать PowerShell. Вот пример:
Get-ADObject -Filter {displayName -eq "Mary"} -IncludeDeletedObjects | Restore-ADObject
Если вы хотите узнать больше по теме, загляните в Пошаговое руководство по корзине Active Directory
Я также предлагаю вам включить указанную функцию, если вы еще этого не сделали.
Второй вариант - вернуться к резервным копиям Active Directory, если ваше решение для резервного копирования поддерживает гранулярное восстановление объектов AD.
Вы вообще ничего не можете проверить после учетная запись пользователя удаляется, потому что тогда AD больше не имеет о ней никакой информации; ваш единственный вариант - проверить членство в группе (или любую другую информацию, которая может вам понадобиться) перед удаление учетной записи пользователя.