Я пытаюсь получить ВСЕ группы, в которые входит пользователь, даже вложенные (рекурсивно), в Powershell, который я использую:
(Get-ADUser <username> -Properties MemberOf | Select-Object MemberOf).MemberOf
Но он возвращает только группы, в которых пользователь является «прямым» членом, как вы получаете при использовании консоли пользователей AD. Одиночный список ВСЕХ групп очень полезен, например вывод команды "gpresult -r", где он показывает ВСЕ группы, в которых состоит пользователь.
Есть ли способ получить его от любого пользователя AD? (Не обязательно быть исключительно в Powershell, может быть, есть другой инструмент, о котором я еще не знаю)
Get-ADPrincipalGroupMembership myUser
, он показывает мне группы пользователей (между ними также пользователи домена). Когда я ищу с помощью:$dn = (Get-ADUser "myUser").DistinguishedName Get-ADGroup -LDAPFilter ("(member:1.2.840.113556.1.4.1941:={0})" -f $dn) | select -expand Name | sort Name
, он игнорирует группу «Пользователи домена», но показывает мне все остальные группы (также рекурсивно) 01.10.2017member
группы. Вместо этого относительный идентификатор (RID) хранится в объекте пользователя в атрибутеprimaryGroupID
. По умолчанию в AD основной группой всегда являются «Пользователи домена». Если вы посмотрите на атрибут участника этой группы, вы увидите, что он пуст. 10.10.2017