I have a scheduled task which executes a PowerShell script when an user account is deleted from Active Directory. Is there a way to check the group membership of that user account ? I have tried with
If ((Get-ADUser $user -Properties MemberOf | Select -ExpandProperty MemberOF) -ccontains $groupname)
{
//code
}
but unfortunately, this didn't worked.(and is understandable why).
I was thinking at something as using a customized xml file for the creation of the scheduled task, but neither in this case, I don't know which value I have to query.
Any ideas?
После пользователя объект учетной записи удален, SID будет удален из всех групп, членом которых был объект. По этой причине я лично предпочитаю отключать учетные записи пользователей, а не удалять их.
Однако, если вы включили функцию Корзина Active-Directory , вы сможете восстановить объект учетной записи пользователя и всю информацию о членстве в группе.
Есть несколько способов сделать это. Я предпочитаю использовать PowerShell. Вот пример:
Get-ADObject -Filter {displayName -eq "Mary"} -IncludeDeletedObjects | Restore-ADObject
Если вы хотите узнать больше по теме, пожалуйста, просмотрите Active Directory Recycle Bin Step-by-Step Guide
Я также предлагаю вам включить указанную функцию, если вы еще этого не сделали.
Второй вариант - вернуться к резервным копиям Active Directory, если ваше решение для резервного копирования поддерживает детальное восстановление объектов AD.
Вы вообще ничего не можете проверить после удаления учетной записи пользователя, потому что тогда у AD больше не будет никакой информации об этом; ваш единственный вариант - проверить членство в группе (или любую другую информацию, которая может вам понадобиться) перед удалением учетной записи пользователя.