如何使用 Powershell(与 Quest 一起使用)选择用户并删除他们所属的所有组?

如何使用 Powershell(与 Quest 一起使用)选择用户并删除他们所属的所有组?

我在网上阅读了大量有关此问题的内容,并以为我找到了解决方案,但它似乎并没有像我预期的那样发挥作用。

我想根据我输入的用户名获取用户,然后删除该用户所属的所有组。基本上与进入 ADUC、选择用户、选择“成员”选项卡、突出显示所有内容(当然域用户除外)并选择删除相同。

这是我正在尝试使用的命令:

Get-QADUser -Name $username | Remove-QADMemberOf -RemoveAll

网上有人说这个对他们有用,但到目前为止对我来说还不行。它没有给出错误,它很好地接受了命令,但当我在 ADUC 中查看时,用户仍然可以看到这些组。

关于我可能做错了什么,有什么建议吗?

使用域管理员权限从 Windows 7 执行,并加载 Exchange cmdlet 和 Quest snapin。

谢谢!

答案1

我在禁用用户脚本中使用以下内容(仅添加了删除组成员身份的部分)

$DisableIni = Read-host "Enter initials of the user you want to disable"
$DisableUser = Get-QADUser $DisableIni

# Check Groupmembership and populate the list to Notes
$groupmemberof=$DisableUser.memberof | Get-QADGroup
      Foreach ($Group in $groupmemberof)
    {$DisNotes = (get-qaduser $DisableIni).notes
    Set-qaduser $DisableIni -notes "$DisNotes $Group;"}

# Remove all memberships from the user except for "Domain Users"
$DisableUser.memberOf | Get-QADGroup | where {$_.name -notmatch '^users|domain users$'} | Remove-QADGroupMember -member $DisableIni

你可能会问,为什么我要将组添加到笔记中,以防我禁用了错误的用户,能够撤消总是好的;)

希望你觉得它有用

答案2

旧线程,但对于仍在搜索的人,请尝试以下操作:

Get-QADUser -samaccountName *type-in-username-here* | Remove-QADMemberOf -RemoveAll

例如:Get-QADUser -samaccountName SmithJ | Remove-QADMemberOf -RemoveAll

相关内容