sthAdminSDHolder — модуль для работы с группами и пользовательскими учетными записями Active Directory, защищенными контейнером AdminSDHolder

Когда вы добавляете пользователя в одну из защищенных групп, таких как: ‘Account Operators’, ‘Administrators’, ‘Backup Operators’, ‘Domain Admins’, ‘Domain Controllers’, ‘Enterprise Admins’, ‘Print Operators’, ‘Read-only Domain Controllers’, ‘Replicator’, ‘Schema Admins’ or ‘Server Operators’, он также становится защищенным.

Атрибут adminCount объекта пользователя устанавливается в значение ‘1’, а права доступа к объекту устанавливаются в соответствии с правами доступа к контейнеру AdminSDHolder (CN=AdminSDHolder,CN=System,DC=domain,DC=com).

По умолчанию, наследование прав доступа для контейнера AdminSDHolder отключено. То же самое касается и защищенных объектов пользователей.

Когда же вы удаляете пользователя из защищенной группы, атрибут adminCount не удаляется и его значение не изменяется. Наследование прав доступа к объекту также не восстанавливается.

Для удаления атрибута adminCount и восстановления наследования прав доступа вы можете использовать функции модуля: Get-sthAdminSDHolderProtectedUserAccount и Remove-sthAdminSDHolderUserAccountProtection.

Кроме того, вы можете исключить группы ‘Account Operators’, ‘Server Operators’, ‘Print Operators’ или ‘Backup Operators’ из числа защищенных контейнером AdminSDHolder (или же вернуть их под защиту), изменив значение атрибута dsHeuristics контейнера ‘Directory Service’ (CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=domain,DC=com).

Сделать это вы можете при помощи функций: Get-sthAdminSDHolderGroup, Disable-sthAdminSDHolderGroupProtection, Enable-sthAdminSDHolderGroupProtection.

В модуль входят следующие функции:

Get-sthAdminSDHolderProtectedUserAccount — Функция отображает учетные записи пользователей Active Directory, защищенные контейнером AdminSDHolder. Результат выполнения включает в себя имя пользователя, значения атрибутов SamAccountName и UserPrincipalName, активна ли учетная запись, значение атрибута adminCount, включено ли наследование прав доступа, а также список защищенных групп, в которые входит пользователь.

Remove-sthAdminSDHolderUserAccountProtection — Функция удаляет атрибут adminCount и восстанавливает наследование прав доступа для объекта пользователя, если он не входит в группы Active Directory, защищенные контейнером AdminSDHolder.

Get-sthAdminSDHolderGroup — Функция отображает группы Active Directory, защищенные контейнером AdminSDHolder. В качестве результатов выводится текущее значение атрибута dsHeuristics, защищенные группы, а также группы, исключенные из списка защищенных, если такие существуют.

Disable-sthAdminSDHolderGroupProtection — Функция позволяет исключить группы Account Operators, Server Operators, Print Operators и Backup Operators из числа защищенных контейнером AdminSDHolder.

Enable-sthAdminSDHolderGroupProtection — Функция позволяет включить группы Account Operators, Server Operators, Print Operators и Backup Operators в число защищенных контейнером AdminSDHolder.

Вы можете установить модуль sthAdminSDHolder из PowerShell Gallery:

Install-Module sthAdminSDHolder

Также вы можете найти его на GitHub:
https://github.com/sethvs/sthAdminSDHolder

Как с этим работать?

Get-sthAdminSDHolderProtectedUserAccount

Пример 1.

Команда выводит информацию об учетных записях пользователей, защищенных контейнером AdminSDHolder. Результат выполнения содержит деактивированные учетные записи.

Get-sthAdminSDHolderProtectedUserAccount
Name         SamAccountName UserPrincipalName       Enabled AdminCountAttribute InheritanceEnabled AdminSDHolderGroups
----         -------------- -----------------       ------- ------------------- ------------------ -------------------
admin        admin          admin@domain.com        True    1                   False              {Administrators, Domain Admins, Enterprise Admins, Schema Admins}
user         user           user@domain.com         True    1                   False              {Account Operators}
disableduser disableduser   disableduser@domain.com False   1                   False              {Print Operators}

Пример 2.

Команда выводит информацию об учетных записях пользователей, защищенных контейнером AdminSDHolder. Результат выполнения содержит только активные учетные записи.

Get-sthAdminSDHolderProtectedUserAccount -EnabledOnly
Name  SamAccountName UserPrincipalName Enabled AdminCountAttribute InheritanceEnabled AdminSDHolderGroups
----  -------------- ----------------- ------- ------------------- ------------------ -------------------
admin admin          admin@domain.com  True    1                   False              {Administrators, Domain Admins, Enterprise Admins, Schema Admins}
user  user           user@domain.com   True    1                   False              {Account Operators}

Пример 3.

Команда выводит информацию об учетных записях пользователей, защищенных контейнером AdminSDHolder, с использованием ANR — Ambiguous Name Resolution.

Get-sthAdminSDHolderProtectedUserAccount -ANR u
Name SamAccountName UserPrincipalName Enabled AdminCountAttribute InheritanceEnabled AdminSDHolderGroups
---- -------------- ----------------- ------- ------------------- ------------------ -------------------
user user           user@domain.com   True    1                   False              {Account Operators}

Пример 4.

Команда выводит информацию об учетных записях пользователей, защищенных контейнером AdminSDHolder, с использованием поиска по атрибуту SamAccountName.

Get-sthAdminSDHolderProtectedUserAccount -SamAccountName user
Name SamAccountName UserPrincipalName Enabled AdminCountAttribute InheritanceEnabled AdminSDHolderGroups
---- -------------- ----------------- ------- ------------------- ------------------ -------------------
user user           user@domain.com   True    1                   False              {Account Operators}

Пример 5.

Команда выводит информацию об учетных записях пользователей, защищенных контейнером AdminSDHolder, с использованием поиска по атрибуту UserPrincipalName.

Get-sthAdminSDHolderProtectedUserAccount -UserPrincipalName user@domain.com
Name SamAccountName UserPrincipalName Enabled AdminCountAttribute InheritanceEnabled AdminSDHolderGroups
---- -------------- ----------------- ------- ------------------- ------------------ -------------------
user user           user@domain.com   True    1                   False              {Account Operators}

Remove-sthAdminSDHolderUserAccountProtection

Пример 1.

Команда удаляет атрибут adminCount и восстанавливает наследование прав доступа для объекта пользователя. Учетная запись определяется значением атрибута SamAccountName.

Remove-sthAdminSDHolderUserAccountProtection -SamAccountName user -Remove -YesRemove
Removing adminCount attribute and enabling access rules inheritance.

Name SamAccountName UserPrincipalName Enabled AdminCountAttribute InheritanceEnabled AdminSDHolderGroups
---- -------------- ----------------- ------- ------------------- ------------------ -------------------
user user           user@domain.com   True    1                   False              {}

adminCount attribute removed.
Access rules inheritance enabled.

Пример 2.

Команда удаляет атрибут adminCount и восстанавливает наследование прав доступа для объекта пользователя. Учетная запись определяется значением атрибута UserPrincipalName.

Remove-sthAdminSDHolderUserAccountProtection -UserPrincipalName user@domain.com -Remove -YesRemove
Removing adminCount attribute and enabling access rules inheritance.

Name SamAccountName UserPrincipalName Enabled AdminCountAttribute InheritanceEnabled AdminSDHolderGroups
---- -------------- ----------------- ------- ------------------- ------------------ -------------------
user user           user@domain.com   True    1                   False              {}

adminCount attribute removed.
Access rules inheritance enabled.

Пример 3.

Команда не вносит изменений, поскольку пользователь все еще входит в защищенные контейнером AdminSDHolder группы.

Remove-sthAdminSDHolderUserAccountProtection -SamAccountName username -Remove -YesRemove
Account is a member of AdminSDHolder protected groups.

Name SamAccountName UserPrincipalName Enabled AdminCountAttribute InheritanceEnabled AdminSDHolderGroups
---- -------------- ----------------- ------- ------------------- ------------------ -------------------
user user           user@domain.com   True    1                   False              {Account Operators}

No changes were made.

Get-sthAdminSDHolderGroup

Пример 1.

Команда выводит значение атрибута dsHeuristics и список групп, защищенных контейнером AdminSDHolder.

Get-sthAdminSDHolderGroup
    dsHeuristics: null

    Protected Groups:

Name                         SID                                           distinguishedName
----                         ---                                           -----------------
Account Operators            S-1-5-32-548                                  CN=Account Operators,CN=Builtin,DC=domain,DC=com
Administrators               S-1-5-32-544                                  CN=Administrators,CN=Builtin,DC=domain,DC=com
Backup Operators             S-1-5-32-551                                  CN=Backup Operators,CN=Builtin,DC=domain,DC=com
Domain Admins                S-1-5-21-1234567890-1234567890-1234567890-512 CN=Domain Admins,CN=Users,DC=domain,DC=com
Domain Controllers           S-1-5-21-1234567890-1234567890-1234567890-516 CN=Domain Controllers,CN=Users,DC=domain,DC=com
Enterprise Admins            S-1-5-21-1234567890-1234567890-1234567890-519 CN=Enterprise Admins,CN=Users,DC=domain,DC=com
Print Operators              S-1-5-32-550                                  CN=Print Operators,CN=Builtin,DC=domain,DC=com
Read-only Domain Controllers S-1-5-21-1234567890-1234567890-1234567890-521 CN=Read-only Domain Controllers,CN=Users,DC=domain,DC=com
Replicator                   S-1-5-32-552                                  CN=Replicator,CN=Builtin,DC=domain,DC=com
Schema Admins                S-1-5-21-1234567890-1234567890-1234567890-518 CN=Schema Admins,CN=Users,DC=domain,DC=com
Server Operators             S-1-5-32-549                                  CN=Server Operators,CN=Builtin,DC=domain,DC=com

Пример 2.

Команда выводит значение атрибута dsHeuristics, список групп, защищенных контейнером AdminSDHolder, а также список групп, исключенных из списка защищенных, что определяется значением 16-го символа атрибута dsHeuristics.

Get-sthAdminSDHolderGroup
    dsHeuristics: 000000000100000f

    Protected Groups:

Name                         SID                                           distinguishedName
----                         ---                                           -----------------
Administrators               S-1-5-32-544                                  CN=Administrators,CN=Builtin,DC=domain,DC=com
Domain Admins                S-1-5-21-1234567890-1234567890-1234567890-512 CN=Domain Admins,CN=Users,DC=domain,DC=com
Domain Controllers           S-1-5-21-1234567890-1234567890-1234567890-516 CN=Domain Controllers,CN=Users,DC=domain,DC=com
Enterprise Admins            S-1-5-21-1234567890-1234567890-1234567890-519 CN=Enterprise Admins,CN=Users,DC=domain,DC=com
Read-only Domain Controllers S-1-5-21-1234567890-1234567890-1234567890-521 CN=Read-only Domain Controllers,CN=Users,DC=domain,DC=com
Replicator                   S-1-5-32-552                                  CN=Replicator,CN=Builtin,DC=domain,DC=com
Schema Admins                S-1-5-21-1234567890-1234567890-1234567890-518 CN=Schema Admins,CN=Users,DC=domain,DC=com



    Excluded Groups:

Name                         SID                                           distinguishedName
----                         ---                                           -----------------
Account Operators            S-1-5-32-548                                  CN=Account Operators,CN=Builtin,DC=domain,DC=com
Server Operators             S-1-5-32-549                                  CN=Server Operators,CN=Builtin,DC=domain,DC=com
Print Operators              S-1-5-32-550                                  CN=Print Operators,CN=Builtin,DC=domain,DC=com
Backup Operators             S-1-5-32-551                                  CN=Backup Operators,CN=Builtin,DC=domain,DC=com

Disable-sthAdminSDHolderGroupProtection

Пример 1.

Команда исключает группу Account Operators из числа защищенных контейнером AdminSDHolder.

Disable-sthAdminSDHolderGroupProtection -AccountOperators -Disable -YesDisable
Current dsHeuristics value: null

DISABLED: Account Operators

Resulting dsHeuristics value: 0000000001000001

Пример 2.

Команда исключает группы Account Operators, Server Operators, Print Operators и Backup Operators из числа защищенных контейнером AdminSDHolder.

Disable-sthAdminSDHolderGroupProtection -AccountOperators -ServerOperators -PrintOperators -BackupOperators -Disable -YesDisable
Current dsHeuristics value: null

DISABLED: Account Operators
DISABLED: Server Operators
DISABLED: Print Operators
DISABLED: Backup Operators

Resulting dsHeuristics value: 000000000100000f

Enable-sthAdminSDHolderGroupProtection

Пример 1.

Команда включает группу Account Operators в число защищенных контейнером AdminSDHolder.

Enable-sthAdminSDHolderGroupProtection -AccountOperators -Enable -YesEnable
Current dsHeuristics value: 000000000100000f

ENABLED: Account Operators

Resulting dsHeuristics value: 000000000100000e

Пример 2.

Команда включает группы Account Operators, Server Operators, Print Operators и Backup Operators в число защищенных контейнером AdminSDHolder.

Enable-sthAdminSDHolderGroupProtection -AccountOperators -ServerOperators -PrintOperators -BackupOperators -Enable -YesEnable
Current dsHeuristics value: 000000000100000f

ENABLED: Account Operators
ENABLED: Server Operators
ENABLED: Print Operators
ENABLED: Backup Operators

Resulting dsHeuristics value: 0000000001000000

Все модули доступны по следующей ссылке:

https://sergeyvasin.net/modules/


Страницы в социальных сетях:

Twitter: https://twitter.com/vsseth
Facebook: https://fb.com/inpowershell
VK: https://vk.com/inpowershell


Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s