我尝试通过在Windows 2008 R2 Standard,PowerShell 2.0上执行以下命令来清除本地组test_group中的所有用户。
Get-ADGroupMember "test_group" | ForEach-Object {Remove-ADGroupMember "test_group" $_ -Confirm:$false}
它会抛出以下错误,很可能是因为我使用的是v2.0?:
术语' Get-ADGroup会员'不被识别为a的名称 cmdlet,函数,脚本文件或可操作程序。检查 拼写名称,或者如果包含路径,请验证路径 是正确的,然后再试一次。在第1行:char:18 + Get-ADGroupMember<<<< " test_group" | ForEach-Object {Remove-ADGroupMember" test_group" $ _ -Confirm:$ false} + CategoryInfo:ObjectNotFound:(Get-ADGroupMember:String)[],CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException
我从这篇文章及其评论中尝试了很多想法,但我无法工作,但我不是系统管理员而且我不确定我是否不会错过什么?: http://blogs.technet.com/b/heyscriptingguy/archive/2009/07/28/hey-scripting-guy-how-do-i-remove-all-group-members-in-active-directory.aspx
请帮助,我周一有大约300个小组要清理,我不想手动做...
答案 0 :(得分:5)
不确定你是否这是一个拼写错误,或者这就是你运行命令的方式,但它应该是get-adgroupmember
Get-ADGroupMember "test_group" | ForEach-Object {Remove-ADGroupMember "test_group" $_ -Confirm:$false}
那对我有用的必须刷新ADUC ou才能看到改变
修改强>
首先导入ActiveDirectory模块,然后尝试运行命令。
import-module activedirectory
Get-ADGroupMember "test_group" | ForEach-Object {Remove-ADGroupMember "test_group" $_ -Confirm:$false}
答案 1 :(得分:4)
这是另一种方式:
Remove-ADGroupMember "test_group" -Members (Get-ADGroupMember "test_group") -Confirm:$false
答案 2 :(得分:0)
set-adgroup -clear
对我来说,棘手的部分是记住使用ldap attr。名字,“成员”而不是“成员”,直觉上来自get-adgroup -prop成员的低级成员
要修改对象属性,必须使用 LDAP 显示名称: Documentation
答案 3 :(得分:0)
基于Zhenia Shapiro's的答案:
Get-ADGroup "test_group" | Set-ADGroup -Clear member