我正在清理一些不再使用的 AD 组。我无法删除其中一个 AD 组,因为似乎有成员将此组设置为主要组(我猜是有人无意中这样做的)。有没有一种简单的方法可以找出谁将此组设置为主要组?
答案1
您需要获取相关组的 primaryGroupToken 值:
- 使用 adsiedit 检查要删除的组。记下 primaryGroupToken 属性的值。
使用以下“自定义搜索”在 Active Directory 用户和计算机中创建已保存的查询,其中 XXX = 您为 primaryGroupToken 找到的值:
(&(objectCategory=人)(objectClass=用户)(primaryGroupID=XXX))
刷新查询以查看谁出现了
或者 - 如果预计所有用户都以域用户为主要组的成员,则只需使用以下方式定义查询(513 是域用户的典型值):
(&(objectCategory=person)(objectClass=user)(!primaryGroupID=513))
其他链接:
http://support.microsoft.com/default.aspx?scid=kb;en-us;321360 http://support.microsoft.com/default.aspx?scid=kb;en-us;297951
好问题!
答案2
只需给予特权
删除 Active Directory 中的 Windows 组
打开记事本
复制并粘贴以下文本到记事本
以 .ps1 扩展名保存文件。
---------- 脚本从这里开始--------------
版本 2
2010 年 4 月 19 日
修改术语用户的脚本
1.从 CSV 中提取术语用户
移除用户组成员身份
2.清除 Manager 属性
3. 躲避 GAL
4.移至禁用 OU
5.将 csv 重命名为完成日期,移至已完成
$groupmembershiplog="c:\removeADAttributes\group_membership_log.csv" $erroractionpreference = "SilentlyContinue" $termfile=Test-Path -Path "C:\removeADAttributes\termed_employees.csv" 如果 ($termfile -eq "True") { $inputcsv="C:\removeADAttributes\termed_employees.csv" $completeddir="C:\removeADAttributes\completed\" $date=Get-Date -format d
导入 CSV $inputcsv | foreach 对象 { $username=$_.account
将组导出到文件
$groups=(Get-QADUser $用户名).memberof Add-Content $groupmembershiplog $用户名","$groups
删除组
$groups | Get-QADGroup | 其中 {$_.name -ne "域用户"} | Remove-QADGroupMember -Member $name Set-QADUser -Identity $username -objectattributes @{"Manager"="$null"} $currentuser=Get-QADUser -Identity $username -SizeLimit 1 $currentOU=$currentuser.parentcontainer $currentOU = $currentOU.Split('/') $currentOU = $currentOU[1] Move-QADObject -identity $username -NewParentContainer "domainname.com/$ou/Disabled Accounts" }
导入 CSV $inputcsv | foreach 对象 { $username=$.account Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin Set-Mailbox -Identity $username -HiddenFromAddressListsEnabled $true } 导入-CSV $inputcsv | foreach-object { $username=$.account 添加内容“C:\removeADAttributes\removeADAttributes_log.csv”$date“,”$username }
移动项目 $inputcsv -目标 $completeddir $todaydate=$date.replace("/","_") $newfilename=$todaydate+".csv" 重命名项目 "C:\removeADAttributes\completed\termed_employees.csv" -新名称 $newfilename
} else { $date=Get-Date -format d Add-Content "C:\removeADAttributes\removeADAttributes_log.csv" $date",无术语用户, 无术语用户" 退出 }
---------- 脚本到此结束------------
希望这些脚本对你有用
答案3
我知道这是一个老话题,但对于遇到同样问题的人来说。如果您无论如何都要删除该组,有一种更简单的方法。
- 打开群组并转到成员选项卡。
- 选择所有用户
- 删除用户。
- 剩下的用户中,有一个以该组为主要用户。对我来说,该用户是姓名字母顺序最小的用户。
- 更改该用户的主要组
- 删除组或重复查找以该组为主的其他用户。