首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Powershell中为Active Directory架构更改启用审核规则时,出现“访问被拒绝”

在Powershell中为Active Directory架构更改启用审核规则时,出现“访问被拒绝”
EN

Stack Overflow用户
提问于 2017-10-30 22:39:19
回答 2查看 234关注 0票数 0

我不确定我做错了什么,但是当我尝试为模式启用审计规则时,我得到了一条“访问被拒绝”的消息。这是我的powershell代码

代码语言:javascript
复制
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  

这是我的错误消息

代码语言:javascript
复制
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‘手动进行更改,一切都会按预期运行。

我已经确认我正在以企业管理员的身份运行此命令

代码语言:javascript
复制
([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.NTAccount] "Enterprise Admins")
True
EN

回答 2

Stack Overflow用户

发布于 2017-10-31 00:00:39

我正在运行该命令的PDC已损坏。在不同的DC上运行该命令可以工作....

票数 0
EN

Stack Overflow用户

发布于 2017-11-03 00:03:26

您应该在Schema Admin下运行它(它不属于企业或域管理员组):

https://technet.microsoft.com/en-us/library/dn579255(v=ws.11).aspx#BKMK_SchemaAdmins

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47017970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档