Задача предоставить права для группы на ou для создание учетных записей пользователей
# Импортируем модуль Active Directory Import-Module ActiveDirectory # Определяем путь к OU $ouPath = "AD:\OU=User Create ,OU=Users,OU=Locations,OU=Locations,DC=adminbd,DC=ru" # Получаем текущий ACL для OU $acl = Get-Acl $ouPath # Указываем имя группы или пользователя $groupName = "G-Create User" $groupSID = (Get-ADGroup -Identity $groupName).SID # Преобразуем SID в формат DOMAIN\AccountName $identityReference = $groupSID.Translate([System.Security.Principal.NTAccount]) # Создаем ACE для прав ReadProperty, WriteProperty, ReadControl, WriteDacl $ace1 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule( $groupSID, [System.DirectoryServices.ActiveDirectoryRights] "ReadProperty, WriteProperty, ReadControl, WriteDacl", [System.Security.AccessControl.AccessControlType] "Allow", [Guid]::Empty, [System.DirectoryServices.ActiveDirectorySecurityInheritance] "All" ) # Создаем ACE для CreateChild, DeleteChild (для объектов типа User) $ace2 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule( $groupSID, [System.DirectoryServices.ActiveDirectoryRights] "CreateChild, DeleteChild", [System.Security.AccessControl.AccessControlType] "Allow", [Guid] "bf967aba-0de6-11d0-a285-00aa003049e2", # ObjectType GUID для User [System.DirectoryServices.ActiveDirectorySecurityInheritance] "All" ) # Создаем ACE для CreateChild, DeleteChild (для объектов типа Group) $ace3 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule( $groupSID, [System.DirectoryServices.ActiveDirectoryRights] "CreateChild, DeleteChild", [System.Security.AccessControl.AccessControlType] "Allow", [Guid] "bf967a9c-0de6-11d0-a285-00aa003049e2", # ObjectType GUID для Group [System.DirectoryServices.ActiveDirectorySecurityInheritance] "All" ) # Создаем ACE для GenericAll на потомков типа User $ace4 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule( $groupSID, [System.DirectoryServices.ActiveDirectoryRights] "GenericAll", [System.Security.AccessControl.AccessControlType] "Allow", [Guid]::Empty, [System.DirectoryServices.ActiveDirectorySecurityInheritance] "Descendents", [Guid] "bf967a9c-0de6-11d0-a285-00aa003049e2" # InheritedObjectType GUID для User ) # Создаем ACE для GenericAll на потомков типа Group $ace5 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule( $groupSID, [System.DirectoryServices.ActiveDirectoryRights] "GenericAll", [System.Security.AccessControl.AccessControlType] "Allow", [Guid]::Empty, [System.DirectoryServices.ActiveDirectorySecurityInheritance] "Descendents", [Guid] "bf967aba-0de6-11d0-a285-00aa003049e2" # InheritedObjectType GUID для Group ) # Добавляем ACE в ACL $acl.AddAccessRule($ace1) $acl.AddAccessRule($ace2) $acl.AddAccessRule($ace3) $acl.AddAccessRule($ace4) $acl.AddAccessRule($ace5) # Применяем обновленный ACL к OU Set-Acl -Path $ouPath -AclObject $acl Write-Host "Права успешно применены."
Similar Posts:
- Как удалить отключённых пользователей из определённых групп.
- Как вывести всех пользователей которые состоят в определённых группах и отпаривать уведомление email и обойти ограничение Get-ADGroupMember : The size limit for this request was exceeded
- Как отключить не использующиеся индексы
- Как вывести пользователей которые состоят в административных группах domain admin, enterprise admin, schema admin
- Как сделать запрос отчёта по жёсткому диску ssd в SCCM Microsoft Endpoint Configuration Manager.