在 Powershell 中添加或修改 AD 组时访问被拒绝

在 Powershell 中添加或修改 AD 组时访问被拒绝

我需要在 AD 中创建大量域本地安全组,因此想使用 PoSH 编写脚本,而不是手动创建每个安全组。

如果我尝试在 PoSH 中创建组,则会收到“访问被拒绝”错误,但可以在 ADUC 中毫无问题地创建它们。尝试添加成员时也会发生同样的事情。

这可能是什么问题?我检查了事件日志,但我得到的只是 DS 事件 (4662) 拒绝访问,没有其他信息。

我已在多个 DC 上尝试过,使用 Active Directory 快捷方式的 Powershell 模块,以及使用 Import-Module Active-Directory 的常规 Powershell 会话。

编辑:以下是错误示例:

Log Name:      Security
Source:        Microsoft-Windows-Security-Auditing
Date:          28/06/2011 11:57:54 AM
Event ID:      4662
Task Category: Directory Service Access
Level:         Information
Keywords:      Audit Failure
User:          N/A
Computer:      MYDC.mydomain.com
Description:
An operation was performed on an object.

Subject :
    Security ID:        mydomain\user
    Account Name:       user
    Account Domain:     mydomain
    Logon ID:       0x8d81c809

Object:
    Object Server:      DS
    Object Type:        group
    Object Name:        CN=SERVERNAME-RDP-Users,OU=SQL Servers,OU=RDP,OU=Server Login Permissions,DC=mydomain,DC=com
    Handle ID:      0x0

Operation:
    Operation Type:     Object Access
    Accesses:       Write Property

    Access Mask:        0x20
    Properties:     ---
        {bc0ac240-79a9-11d0-9020-00c04fc2d4cf}
            {bf9679c0-0de6-11d0-a285-00aa003049e2}
    {bf967a9c-0de6-11d0-a285-00aa003049e2}


Additional Information:
    Parameter 1:        -
    Parameter 2:        
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-A5BA-3E3B0328C30D}" />
    <EventID>4662</EventID>
    <Version>0</Version>
    <Level>0</Level>
    <Task>14080</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8010000000000000</Keywords>
    <TimeCreated SystemTime="2011-06-28T01:57:54.401588800Z" />
    <EventRecordID>261383903</EventRecordID>
    <Correlation />
    <Execution ProcessID="520" ThreadID="684" />
    <Channel>Security</Channel>
    <Computer>DC1.mydomain.com</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="SubjectUserSid">S-1-5-21-1580943700-3625058406-2646640161-1105</Data>
    <Data Name="SubjectUserName">User</Data>
    <Data Name="SubjectDomainName">mydomain</Data>
    <Data Name="SubjectLogonId">0x8d81c809</Data>
    <Data Name="ObjectServer">DS</Data>
    <Data Name="ObjectType">%{bf967a9c-0de6-11d0-a285-00aa003049e2}</Data>
    <Data Name="ObjectName">%{29c4e057-b8d3-4fa2-9f91-8dd6336897b4}</Data>
    <Data Name="OperationType">Object Access</Data>
    <Data Name="HandleId">0x0</Data>
    <Data Name="AccessList">%%7685
                </Data>
    <Data Name="AccessMask">0x20</Data>
    <Data Name="Properties">---
        {bc0ac240-79a9-11d0-9020-00c04fc2d4cf}
            {bf9679c0-0de6-11d0-a285-00aa003049e2}
    {bf967a9c-0de6-11d0-a285-00aa003049e2}
</Data>
    <Data Name="AdditionalInfo">-</Data>
    <Data Name="AdditionalInfo2">
    </Data>
  </EventData>
</Event>

答案1

好的,找到答案了。Win2K8 中有一个安全功能,可防止您在 DC 上本地运行这些 cmdlet。因此,基本上您需要使用 PSRemoting 从工作站运行它们,或者只需使用开关指定另一个 DC -Server

相关内容