Active-Directory
在 Powershell 中添加或修改 AD 組時訪問被拒絕
我需要在 AD 中創建大量域本地安全組,因此想使用 PoSH 編寫腳本而不是手動創建每個安全組。
如果我嘗試在 PoSH 中創建組,我會收到拒絕訪問錯誤,但可以在 ADUC 中毫無問題地創建它們。嘗試添加成員時也會發生同樣的事情。
可能是什麼問題?我檢查了事件日誌,但我得到的只是 DS 事件 (4662) 拒絕訪問,沒有其他資訊。
我已經在多個 DC 上嘗試過,使用 Powershell Modules for Active Directory 快捷方式,以及使用 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>
好的,找到了答案。Win2K8 中有一個安全功能可以防止您在 DC 上本地執行這些 cmdlet。因此,基本上您需要使用 PSRemoting 從工作站執行它們,或者只使用
-Server
交換機指定另一個 DC。