扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这个需求可以通过两个方向来实现
1、找到禁用的账号,删除除domain users外的所有组,脚本内容如下
创新互联自2013年创立以来,先为邵阳等服务建站,邵阳等地企业,进行企业商务咨询服务。为邵阳企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
#导入AD模块
import-module ActiveDirectory
#被禁用户
$users = get-aduser -Filter * -SearchBase "OU=xxx,DC=xxx,DC=com" | foreach {if ($.enabled -eq $false){echo $.Name} }
#删除用户所有组
foreach($user in $users){
$Membership = Get-ADPrincipalGroupMembership $User
$group = $Membership.distinguishedName -ne "CN=Domain Users,CN=Users,DC=xxx,DC=com"
Remove-ADPrincipalGroupMembership -identity $User -MemberOf $group -confirm:$False
}
2、找到禁用账号的samaccountname跟组,将domain users外的组通过samaccountname删除成员,内容如下
import-module ActiveDirectory
$users = get-aduser -filter 'enabled -eq $false' -Properties samaccountname, memberof -SearchBase "OU=xxx,DC=xxx,dc=com" | select samaccountname,
@{ n = 'MemberOf'; e = { ($.memberof | % { (Get-ADObject $).Name }) -join "," } }
Foreach ($user in $users)
{
Get-ADGroup -Filter { name -notlike "domain users" } | Remove-ADGroupMember -Members $user.samaccountname -Confirm:$False
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流