我有一个计划任务,当用户帐户从 Active Directory 中删除时,它会执行 PowerShell 脚本。有没有办法检查该用户帐户的组成员身份?我尝试过
If ((Get-ADUser $user -Properties MemberOf | Select -ExpandProperty MemberOF) -ccontains $groupname)
{
//code
}
但不幸的是,这没有起作用。(原因也是可以理解的)。
我正在考虑使用自定义 xml 文件来创建计划任务,但在这种情况下,我不知道必须查询哪个值。
有任何想法吗?
答案1
删除用户帐户对象后,SID 将从该对象所属的所有组中删除。这就是为什么我个人更喜欢禁用用户帐户而不是删除它们的原因。
但是,如果你启用了Active-Directory 回收站功能,您将能够使用它恢复用户帐户对象和所有组成员身份信息。
有几种方法可以做到这一点。我更喜欢使用 PowerShell。以下是一个例子:
Get-ADObject -Filter {displayName -eq "Mary"} -IncludeDeletedObjects | Restore-ADObject
如果您想了解有关该主题的更多信息,请查看Active Directory 回收站分步指南
如果您还没有启用该功能,我还建议您启用它。
如果您的备份解决方案支持细粒度的 AD 对象恢复,则第二种选择是依靠您的 Active Directory 备份。
答案2
你什么都不能检查后用户帐户被删除,因为 AD 不再有关于它的任何信息;你唯一的选择是检查组成员身份(或你可能需要的任何其他信息)前删除用户帐户。