Powershell-Remove-ADGroupMember

时间:2018-10-29 10:11:22

标签: powershell active-directory adgroup

我正在尝试从其他域的用户中删除网上论坛。

示例:我作为管理员想禁用一个用户并删除他在其他域中的组。

问题是我不知道如何在Remove-ADGroupMember -Server循环中使用Foreach,如果不使用Foreach,可以使用-Server选项。 / p>

Remove-ADGroupmember的错误:
Error of Remove-ADGroupmember

如何在-Server中获得Foreach属性?

$groups = (Get-Aduser -server ServerY -Identity manusys -Properties MemberOf).memberof

Foreach ($group in $groups) {
    Remove-ADGroupMember -identity $group -Members manusys -Confirm:$false -ErrorAction:SilentlyContinue
}

用户帐户Manusys具有以下组:

CN=NO_CamerasAlertMGR,OU=Ordinary Distribution Lists,OU=Distribution Lists,DC=test,DC=com
CN=NO_CamerasAlertCM,OU=Ordinary Distribution Lists,OU=Distribution Lists,DC=test,DC=com
CN=NO_CamerasReport,OU=Ordinary Distribution Lists,OU=Distribution Lists,DC=test,DC=com
CN=NO_CamerasReport_CM,OU=Ordinary Distribution Lists,OU=Distribution Lists,DC=test,DC=com
CN=NO_CamerasReport_MGR,OU=Ordinary Distribution Lists,OU=Distribution Lists,DC=test,DC=com

1 个答案:

答案 0 :(得分:0)

Server参数可与Remove-ADGroupMember一起使用,在foreach中使用它不会改变此情况。

不仅仅是依靠ISE自动提示,参考文档(remove-adgroupmember)总是会向您显示可用的参数。

您实际上看到的问题是,一旦在代码中使用了Common ParametersConfirmErrorAction之一,ISE便不再提示/显示命令参数。 ,但还有其他)...

您可以通过命令本身看到它-它会继续提示输入参数:

Remove-ADGroupMember -identity $group -Members manusys

但是添加CommonParam,它将不再提供自己的参数:

Remove-ADGroupMember -identity $group -Members manusys -Confirm:$false

因此,要解决您的原始问题,请将Server参数添加到Remove-ADGroupMember

$groups = (Get-Aduser -server ServerY -Identity manusys -Properties MemberOf).memberof

Foreach ($group in $groups) {
    Remove-ADGroupMember -server ServerY -identity $group -Members manusys -Confirm:$false -ErrorAction:SilentlyContinue
}