服务器不支持DirectoryEntry CommitChanges()

本文关键字:CommitChanges DirectoryEntry 不支持 服务器 | 更新日期: 2023-09-27 18:07:30

我正在尝试使用以下c#代码更改AD内的用户属性:

DirectoryEntry root = new DirectoryEntry("LDAP://xxx/DC=xxx,DC=xx,DC=xx", "xxx", "xxx");          
DirectorySearcher directorySearcher = new DirectorySearcher(root);
directorySearcher.Filter = "(&(objectclass=user)(|(cn=Users)(cn=user001)))";
SearchResult sResultSet = directorySearcher.FindOne();
string a = (GetProperty(sResultSet, "badPwdCount"));
DirectoryEntry ADuser = new DirectoryEntry(sResultSet.Path, "xxx", "xxx");
ADuser.Properties["badPwdCount"].Value = 3;
ADuser.CommitChanges();
ADuser.Close();

我能够读取值并浏览AD,但我无法提交更改。每次我执行ADuser.CommitChanges();,我得到以下错误:

System.DirectoryServices。DirectoryServicesCOMException: Server is无法处理请求。

我的帐户是域管理员组的一部分,我有所有访问权限。误差是什么呢?是安全问题还是框架/服务器不兼容?

服务器不支持DirectoryEntry CommitChanges()

badPwdCount是域控制器之间唯一的特殊属性,不能通过任何方式手工更改。

如果你想改变这个值,因为这个值是NULL的用户正在给你带来问题,请参阅我的答案:

Active Directory属性"badPwdCount"