Powershell - Remove-ADGroupMember - PullRequest
       25

Powershell - Remove-ADGroupMember

0 голосов
/ 29 октября 2018

Я пытаюсь удалить группы из пользователей в другом домене.

Пример: я как администратор хочет отключить пользователя и удалить его группы в другом домене.

Проблема в том, что я не знаю, как использовать Remove-ADGroupMember -Server в цикле Foreach, если я не использую Foreach, я могу использовать опцию -Server.

Ошибка 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 голосов
/ 29 октября 2018

Параметр Server доступен для использования с Remove-ADGroupMember, использование его в пределах foreach не меняет этого.

Не просто полагайтесь на автозапросы ISE, обращаясь к документации ( remove-adgroupmember ) всегда покажет вам, какие параметры доступны.

Проблема, которую вы на самом деле видите, состоит в том, что ISE больше не запрашивает / не показывает параметры команд после того, как вы использовали один из общих параметров (Confirm & ErrorAction в своем коде, но есть и другие) ...

Вы можете увидеть это с помощью самой команды - она ​​продолжит запрашивать параметры:

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
}
...