我正在尝试编写一个脚本来查找属于 AD 中特定 OU 中一个或多个组的成员的禁用用户。然后它将删除所有禁用用户的所有组。我发现这个脚本可以从 csv 文件中的用户中删除所有组,但是由于我希望将其作为计划任务运行,我不想处理已经删除组的用户,而不必将它们移动到不同的 OU。
Import-Csv $csvFile | ForEach-Object {
# Disable the account
Disable-ADAccount -Identity $_.samAccountName
# Retrieve the user object and MemberOf property
$user = Get-ADUser -Identity $_.samAccountName -Properties MemberOf
# Remove all group memberships (will leave Domain Users as this is NOT in the MemberOf property returned by Get-ADUser)
foreach ($group in ($user | Select-Object -ExpandProperty MemberOf))
{
Remove-ADGroupMember -Identity $group -Members $user -Confirm:$false
}
}
关于如何过滤掉一组以上的用户的任何想法?我正在使用此脚本导出 60 天未登录的禁用用户:
Get-QADUser -searchRoot $OuDomain -searchScope OneLevel -InactiveFor 61 -NotLoggedOnFor 61 -disabled -sizelimit 0
谢谢