---------- 脚本从这里开始--------------

---------- 脚本从这里开始--------------

我正在清理一些不再使用的 AD 组。我无法删除其中一个 AD 组,因为似乎有成员将此组设置为主要组(我猜是有人无意中这样做的)。有没有一种简单的方法可以找出谁将此组设置为主要组?

答案1

您需要获取相关组的 primaryGroupToken 值:

  1. 使用 adsiedit 检查要删除的组。记下 primaryGroupToken 属性的值。
  2. 使用以下“自定义搜索”在 Active Directory 用户和计算机中创建已保存的查询,其中 XXX = 您为 primaryGroupToken 找到的值:

    (&(objectCategory=人)(objectClass=用户)(primaryGroupID=XXX))

  3. 刷新查询以查看谁出现了

或者 - 如果预计所有用户都以域用户为主要组的成员,则只需使用以下方式定义查询(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 组

  1. 打开记事本

  2. 复制并粘贴以下文本到记事本

  3. 以 .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

我知道这是一个老话题,但对于遇到同样问题的人来说。如果您无论如何都要删除该组,有一种更简单的方法。

  • 打开群组并转到成员选项卡。
  • 选择所有用户
  • 删除用户。
  • 剩下的用户中,有一个以该组为主要用户。对我来说,该用户是姓名字母顺序最小的用户。
  • 更改该用户的主要组
  • 删除组或重复查找以该组为主的其他用户。

相关内容