Чтобы экстраполировать то, что было упомянуто в комментариях:
В настоящее время вы запускаете две отдельные команды Get.Первый, Get-ADPrincipalGroupMembership
будет генерировать вывод.Это список групп, в которые входит участник.Вторая команда Get, которую вы запускаете (Get-ADUser
), имеет вывод, используемый в цикле, и вы не печатаете этот вывод.Вам нужно сделать что-то вроде Write-Output $_.MemberOf
, чтобы увидеть это.
Вы используете $_.MemberOf
в качестве другого ввода для команды Remove-ADGroupMember
.Для этой команды в документации указано:
Выходы
Нет или Microsoft.ActiveDirectory.Management.ADGroup
Возвращает измененный объект группы, если указан параметр PassThru.По умолчанию этот командлет не генерирует никаких выходных данных.
Поэтому, если вы не укажете параметр -PassThru
, он будет использовать "выходные данные" $_.MemberOf
и ничего не отображать.