Мне нужно создать несколько новых записей управления доступом (ACE), которые будут делегированы конкретным подразделениям Active Directory с помощью PowerShell.
Эти правила должны предоставлять / запрещать доступ к определенным атрибутам для «NT AUTHORITY \ SELF»."учетная запись пользователя на объекте" Компьютер ".
Я создаю ACE с использованием класса .NET System.DirectoryServices.ActiveDirectoryAccessRule. Конструктор, который мне требуется для создания этого объекта , нуждается в GUID как требуемого атрибута, так и класса.
Я могу создать это правило прямо сейчас, используя приведенный ниже код PowerShell, который яwrote:
# Get the security descriptor for the desired OU
$ouPath = "AD:\\OU=TestOU,DC=example,DC=com"
$acl = Get-Acl $ouPath
# Get the SID of the "NT AUTHORITY\SELF" user account
$account = [System.Security.Principal.NTAccount]::New("NT AUTHORITY", "SELF")
$accountSID = $account.Translate([System.Security.Principal.SecurityIdentifier])
# Property values for ActiveDirectoryAccessRule
$identity = [System.Security.Principal.IdentityReference]$accountSID
$adRights = [System.DirectoryServices.ActiveDirectoryRights]("ReadProperty, WriteProperty")
$type = [System.Security.AccessControl.AccessControlType]("Allow")
$objectType = [System.Guid]::New("bf9679d9-0de6-11d0-a285-00aa003049e2")
$inheritanceType = [System.DirectoryServices.ActiveDirectorySecurityInheritance]("Descendents")
$inheritedObjectType = [System.Guid]::New("bf967a86-0de6-11d0-a285-00aa003049e2")
# Create the new rule object
$ace = [System.DirectoryServices.ActiveDirectoryAccessRule]::New($identity, $adRights, $type, $objectType, $inheritanceType, $inheritedObjectType)
# Add the rule to the ACL
$acl.AddAccessRule($ace)
# Change the security descriptor
Set-Acl -AclObject $acl $ouPath
Приведенный выше пример кода позволяет выполнять чтение и запись для атрибута Network-Address в классе Computer.Ниже приведены ссылки на GUID:
Сетевой адрес: Идентификатор системы bf9679d9-0de6-11d0-a285-00aa003049e2
Компьютер: Schema-Id-Guid bf967a86-0de6-11d0-a285-00aa003049e2
Единственная проблема, с которой я сталкиваюсь, заключается в том, что мне приходится вручную искать GUID для обоихтребуемый Атрибут и Класс.
Итак, мой вопрос:
Кто-нибудь знает способ поиска этих GUID, используя только CN или Ldap-Display-Name?