Мне нужно делегировать права (чтение, запись, создание дочернего объекта и т. Д.) В AD OU для учетной записи службы.
Я использовал следующий найденный код здесь .
Import-Module ActiveDirectory
$rootdse = Get-ADRootDSE
$guidmap = @{}
Get-ADObject -SearchBase ($rootdse.SchemaNamingContext) -LDAPFilter `
"(schemaidguid=*)" -Properties lDAPDisplayName,schemaIDGUID |
% {$guidmap[$_.lDAPDisplayName]=[System.GUID]$_.schemaIDGUID}
$extendedrightsmap = @{}
Get-ADObject -SearchBase ($rootdse.ConfigurationNamingContext) -LDAPFilter `
"(&(objectclass=controlAccessRight)(rightsguid=*))" -Properties displayName,rightsGuid |
% {$extendedrightsmap[$_.displayName]=[System.GUID]$_.rightsGuid}
$domain = Get-ADDomain
MyOU имеет вид "OU = xxx - [xx], OU = XXXXX, OU = XXX, DC = AD, DC = GROUPE, DC = NET"
$OU = Get-ADOrganizationalUnit -Identity 'MyOU'
$p = New-Object System.Security.Principal.SecurityIdentifier (Get-ADuser "testaccount").SID
$acl = Get-ACL $ou.DistinguishedName | Select-Object -ExpandProperty Access
$acl.AddAccessRule((New-Object System.DirectoryServices.ActiveDirectoryAccessRule `
$p,"WriteProperty","Allow","Descendents",$guidmap["user"]))
Set-ACL -ACLObject $acl -Path ("AD:\"+($ou.DistinguishedName))
I 'Я застрял с командой get-ACL, которая возвращает, что путь в моей AD не существует, но он существует.
Спасибо за любую помощь.