Кто-нибудь знает, как создать отчет для ACL для атрибутов пользователя AD. , например, кто имеет права на пользователей Active Directory «читать инициалы» или «писать инициалы». Я нашел команды PowerShell для получения ACL для самого пользовательского объекта AD, но не на уровне атрибута.Как получить эффективные разрешения с помощью PowerShell для атрибута объекта пользователя AD
ответ
Проверьте PowerShell Access Control module. Версия 3.0 реализована почти полностью в PowerShell, что делает ее довольно медленной по сравнению с использованием Get-Acl, но я думаю, что она может делать то, о чем вы просите (и я работаю над проблемой скорости).
У этого есть функция с именем Get-EffectiveAccess, которая может вычислять эффективный доступ принципала над защищаемым объектом, но я не думаю, что это то, что вы ищете. Похоже, вы хотите получить список ACE, которые предоставляют доступ для чтения/записи свойства «initials». Чтобы сделать это, вы будете использовать Get-AccessControlEntry:
# Get any ACEs that grant or deny read or write access to the 'initials' property:
Get-ADUser TestUser | Get-AccessControlEntry -ObjectAceType initials
# Get any ACEs that grant or deny write access to the 'initials' property:
Get-ADUser TestUser | Get-AccessControlEntry -ObjectAceType initials -ActiveDirectoryRights WriteProperty
# Get any ACEs that grant write access to the 'initials' property:
Get-ADUser TestUser | Get-AccessControlEntry -ObjectAceType initials -ActiveDirectoryRights WriteProperty -AceType AccessAllowed
Эти примеры все использовали Get-ADUser для поиска одного пользователя. Вы должны иметь возможность подавать функцию любому объекту AD, независимо от того, используете ли вы модуль AD или DirectorySearcher. Вы даже можете указать различающееся имя как параметр -Path для функции.
Параметр -ObjectAceType должен иметь возможность использовать GUID, или вы можете поместить в один или несколько свойств/свойств/утвержденных имен записи/расширенного права/класса (вы можете использовать * в качестве подстановочного знака).
Если вы действительно хотели, чтобы вычислить фактический эффективный доступ, вот некоторые примеры функции Get-EffectiveAccess:
# Get effective access that 'AnotherUser' has over 'TestUser' object (this doesn't include property, property set, validated write, etc effective permissions):
Get-ADUser TestUser | Get-EffectiveAccess -Principal AnotherUser
# Same as before, but this time include effective access down to the ObjectAceType level:
Get-ADUser TestUser | Get-EffectiveAccess -Principal AnotherUser -ObjectAceTypes initials
Get-ADUser TestUser | Get-EffectiveAccess -Principal AnotherUser -ObjectAceTypes init*
Во время работы на нескольких последних примеров, я заметил, что есть некоторые ошибки, которые написанных при использовании Get-EffectiveAccess с параметром -ObjectAceTypes, даже если функция работает правильно. Если у меня будет время в выходные, я могу это исправить, но я, вероятно, просто подожду версию 4.0.
- 1. Получить описание пользователя AD с помощью PowerShell
- 2. Powershell - Получить инициалы пользователя AD
- 3. Массовое обновление атрибута пользователя AD
- 4. Разблокировка пользователя AD с помощью Powershell
- 5. Переместить пользователя AD с помощью powershell
- 6. Эффективные разрешения на удаленный доступ для пользователей домена в Powershell
- 7. Включение учетной записи AD с помощью powershell
- 8. Powershell: Как вы устанавливаете разрешения AD для разрешения на чтение и запись?
- 9. Изменение объекта LDAP без AD с помощью Powershell
- 10. Как найти значение атрибута для объекта пользователя с помощью LDAP?
- 11. PowerShell атрибут пользователя изменение AD
- 12. Поиск OU в AD с помощью PowerShell
- 13. Добавление и удаление атрибута extension для объекта AD
- 14. Получение имени пользователя через AD с помощью powershell
- 15. Как получить разрешения пользователя?
- 16. Добавление пользователей в AD с помощью powershell
- 17. Как получить AD текущего пользователя
- 18. Получить имя менеджера для каждого пользователя в AD с помощью PowerShell
- 19. GUID объекта из AD для пользователя
- 20. Установить атрибут AD с вводом от другого атрибута в powershell
- 21. Получить свойства пользователя из azure AD с помощью Graph API
- 22. Azure AD разрешения для мультикана
- 23. Как получить статус входа пользователя в AD с помощью LDAP
- 24. Получить организацию Должность в AD с помощью powershell
- 25. Powershell - кодировка для экспорта AD thumbnailPhoto
- 26. Получить членство в AD Group с помощью PowerShell
- 27. User.ReadWrite Разрешения в Azure AD
- 28. Добавить пользователя в Azure AD из другого Azure AD с помощью PowerShell
- 29. Получить текущего пользователя на локальной машине с помощью Powershell
- 30. Запросить уровень разрешения пользователя для родителя объекта?
Thanks Rohn, Get-AccessControlEntry отлично работает. Я получил некоторые ошибки, когда я запустил Get-EffectiveAccess, но я получил отчет, который мне нужен, из Get-AccessControlEntry. Еще раз спасибо! Majid –