Powershell Compare-Object сравнивает пользователей объявлений, не входящих в список групп - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь найти всех пользователей, у которых есть почтовые ящики, но которые не входят в некоторые ожидаемые группы (куда мы помещаем наших пользователей, мы ожидаем, что у них будут почтовые ящики).У меня это работает в моем сценарии, но способ, которым я это сделал, заключается в том, чтобы циклически проходить через набор учетных записей пользователей и проверять их членство индивидуально ... что мучительно медленно.Вместо этого я пытаюсь сравнить (отсортированный) список учетных записей пользователей с (отсортированным уникальным списком) учетных записей в группах участников ... но не удается выполнить команду сравнения объекта.

$ GrpMembersUnique - отсортированный список уникальных учетных записей в различных группах

$GrpMembersUnique = Get-AdGroup -SearchBase "OU=Groups,DC=blahblah" -filter {name -eq 'GRP_STAFF' -OR name -eq 'GRP_2' ....} -properties member | select-object -ExpandProperty member | get-AdUser -properties SamAccountName | Sort-Object | Get-Unique

$ userlist - отсортированный список уникальных учетных записей с почтовыми ящиками

$userlist=Get-aduser -SearchBase "OU=People,DC=blahblah" -filter {mail -like "*" } -properties mail,SamAccountName | Sort-Object | Get-Unique

Команда сравнения:

$ChecklList = compare-object -ReferenceObject $userlist -DifferenceObject $GrpMembersUnique -ExcludeDifferent -Property 'SamAccountName' | Where {$_.SideIndicator -like "<="} 

не возвращает результатов.это должно быть просто, так что я думаю, что упустил что-то легкое .... любая помощь или руководство приветствуются.

1 Ответ

0 голосов
/ 21 ноября 2018

Использование неправильного переключателя.Изменен -ExcludeDifferent на -IncludeEqual, и теперь работает как положено.Спасибо Lee_Dailey.

compare-object -ReferenceObject $userlist -DifferenceObject $GrpMembersUnique -IncludeEqual -Property 'SamAccountName' | Where {$_.SideIndicator -like "<="} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...