Get-ADGroup с фильтром не работает для всех
У меня проблема со сценарием PowerShell, мне нужно получить всех пользователей из группы, у меня есть идентификатор группы, который я могу использовать для получения группы. У меня проблема в том, что мое решение не работает для всех групп, и я не понимаю, что не так.
У меня есть название группы EAM
EGR
ETE
EDF
EMP-искусство
е-CV
3 первых не работает, а другой да. Вот сценарий, который я использую
$like = "*" + $branch
foreach ($member in (Get-ADGroupMember (Get-ADGroup -filter {name -like $like}))){
# Do something
}
И ошибка, которую я получаю, для которой не работает
Get-ADGroupMember: невозможно преобразовать "System.Object[]" в «Microsoft.ActiveDirectory.Management.ADGroup»,
requiered by «Identity» param. The specified method is not supported
+ Get-ADGroupMember (Get-ADGroup -filter {name -like "*AM"})
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument : (:) [Get-ADGroupMember], ParameterBindingException
+ FullyQualifiedErrorId : cannotConvertArgument,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMember
Заранее спасибо за помощь, MYT
1 ответ
Ошибка говорит вам, что Get-ADGroupMember
не принимает массив групп, но одну группу. Вы также получите ошибки, если Get-AdGroup
не вернул бы никаких результатов. Вместо этого передайте команды:
Get-ADGroup -Filter {name -like $like} | Get-ADGroupMember | Foreach-Object {
}
Обратите внимание, что учетные записи могут принадлежать нескольким группам, поэтому один и тот же участник может быть возвращен несколько раз.