Получение SamAccountName и связанных групп в формате csv - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь получить список всех пользователей Ad, соответствующих фильтру, перенаправить его в Get-ADPrincipalGroupMembership и затем экспортировать результат в легко читаемый CSV.

* NB. Я не могу использовать MemberOf, поскольку он возвращает пустое значение для каждого пользователя Ad, и большинство найденных мной успешных сценариев используют MemberOf.

Вот то, что я попробовал, который дает мне список групп, но без связи с тем, кто куда идет.Пробовал и до export-csv, но жалуется на пустую трубу?

import-module activedirectory
foreach ($user in (Get-AdUser -Filter {(Name -Like "*(s)") }  | select samaccountName)) {
    Get-ADPrincipalGroupMembership $user.samaccountName | select samaccountname,name
} 

1 Ответ

0 голосов
/ 25 мая 2018

Это будет включать в себя sAMAccountName пользователя в результатах группы:

Import-Module ActiveDirectory
ForEach ($user in (Get-AdUser -Filter {(Name -Like "*(s)") }  | select sAMAccountName)) {
    Get-ADPrincipalGroupMembership $user.sAMAccountName| select @{Expression={$user.sAMAccountName};Label="User"},sAMAccountName,name
}

Эта странная запись предназначена для создания пользовательской таблицы.Вы можете прочитать больше об этом здесь: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-powershell-1.0/ee692794(v=technet.10)

Не видеть ничего в memberOf может быть нормально.Если вы отметите «Пользователи и компьютеры», вы увидите значение в memberOf?

Атрибут memberOf будет отображать только группы с универсальной областью действия в одном лесу AD или глобальные группы в одном домене,Он не будет отображать глобальные группы в других доменах или локальные группы домена в любом домене (даже в одном и том же домене).Таким образом, у него есть свои ограничения.

Пользователи также могут быть «членами» группы по атрибуту primaryGroupId, в котором хранится RID (последний раздел SID) основной группы пользователя.Обычно это используется только для группы «Пользователи домена».

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...