最近工作收到一个需求,需要对离职人员的账号清理所属组并记录下日志,所以研究了下如何使用Powershell来实现此功能:
成都创新互联长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为墨江企业提供专业的成都做网站、成都网站设计、成都外贸网站建设,墨江网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
#查询出相应的OU下面的离职账号
$users = get-aduser -Filter * -SearchBase "OU=xxxx,DC=it581,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 "移除完成!!"
以上就是实现此需求的脚本。