批量移除AD组中的用户
从组中移除用户
Remove-adgroupmember -identity group02 -members san_zhang
批量移除组中的用户
for /f ""skip=1 eol=;tokens=1-3 delims=,"" %%a in (E:\disuser.csv) do foreach{remove-adgroupmember -identity group02 -members %%a -confirm:$false}"
最近工作收到一个需求,需要对离职人员的账号清理所属组并记录下日志,所以研究了下如何使用Powershell来实现此功能:
#查询出相应的OU下面的离职账号
$users = get-aduser -Filter * -SearchBase ""OU=xxxx,DC=test,DC=com"" | foreach {if ($.enabled -eq $false){echo $.samaccountname}}
#获取当前的日期
$data=get-date -Format 'yyyyMMdd'
#使用循环记录日志并删除对应的组
foreach($user in $users)
{
Get-ADUser -Identity $user -Properties * |select name,memberof |fl >>d:\$data.txt
Get-ADPrincipalGroupMembership -Identity $user | where{$.name -notlike ""domain users""} | % { Remove-ADPrincipalGroupMembership -Identity $user -MemberOf $ -Confirm:$false -ErrorAction SilentlyContinue }
}
write-host ""移除完成!!""
以上就是实现此需求的脚本。