我不确定我做错了什么,但是当我尝试为模式启用审计规则时,我得到了一条“访问被拒绝”的消息。这是我的powershell代码
Import-Module activedirectory
set-location ad:
$everyone = [Security.Principal.NTAccount]"Everyone"
$none = [system.guid]"00000000-0000-0000-0000-000000000000"
$schemaPath = (Get-ADRootDSE).schemaNamingContext
#schema
$ACLs = get-acl "AD:\$schemaPath" -audit
$newRule = New-Object System.DirectoryServices.ActiveDirectoryAuditRule($everyone,"CreateChild, DeleteChild, WriteProperty, ExtendedRight, Delete, WriteDacl","Success",$none,"All")
$ACLs.AddAuditRule($newRule)
$ACLs | set-acl 这是我的错误消息
set-acl : Access is denied
At line:12 char:9
+ $ACLs | set-acl
+ ~~~~~~~
+ CategoryInfo : PermissionDenied: (CN=Schema,CN=Co...eng,DC=domainname,DC=.yada:String) [Set-Acl], UnauthorizedAccessException
+ FullyQualifiedErrorId : ADProvider:SetSecurityDescriptor:AccessDenied,Microsoft.PowerShell.Commands.SetAclCommand我尝试以域管理员和企业管理员的身份运行此代码,但仍然显示访问被拒绝的消息。我也尝试过在模式主机上运行它,但总是失败。
如果我通过'ADSI Edit‘手动进行更改,一切都会按预期运行。
我已经确认我正在以企业管理员的身份运行此命令
([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.NTAccount] "Enterprise Admins")
True发布于 2017-10-31 00:00:39
我正在运行该命令的PDC已损坏。在不同的DC上运行该命令可以工作....
发布于 2017-11-03 00:03:26
您应该在Schema Admin下运行它(它不属于企业或域管理员组):
https://technet.microsoft.com/en-us/library/dn579255(v=ws.11).aspx#BKMK_SchemaAdmins
https://stackoverflow.com/questions/47017970
复制相似问题