在手动管理域账户的过程中有时候会遇到离职人员的账户没有及时禁用或删除,尤其是在与Exchange系统集成的情况下,会遇到发送群组邮件退信的情况。我们怎么能将账户统一退出组呢?

#查询某一个OU里面的账户

$user=get-aduser -Filter * -SearchBase "OU=test,OU=delusers,DC=contoso,DC=com" | foreach{$_.SamAccountName}

#查询这些账户所隶属的所有组,通过管道使上面OU里面的账户依次推出这些组。

get-aduser -Filter * -SearchBase "OU=test,OU=delusers,DC=contoso,DC=com" -properties memberof | %{$_.MemberOF} | Remove-ADGroupMember -members$user-Confirm:$false

这个脚本目前因为逻辑写的较为简单了,执行效率有些差,在2000个以上的账户同时处理的时候脚本会报错。但功能肯定是可以实现了!