DirectoryEntry CommitChanges()不提交更改?

时间:2011-12-06 15:05:56

标签: c# active-directory directoryservices

在你将这个问题完全复制之前,值得注意的是答案不起作用。

所以这就是我到目前为止所尝试的内容:

首次尝试是在记录上使用.InvokeSet:

adUser.InvokeSet("department", department);
adUser.CommitChanges();

第二次尝试是关注Calling commitChanges() does nothing in Active Directory?上的答案并尝试直接访问本机对象:

IADsTSUserEx nativeUser = (IADsTSUserEx)adUser.NativeObject;
nativeUser.Department = department;
adUser.CommitChanges();

使用IADsUser代替。

最后,我只是尝试从Value属性设置它:

adUser.Properties["department"].Value = department;
adUser.CommitChanges();

所以我在这里不知所措。以上都没有真正起到保存更改的作用。我有写访问权限,我没有任何例外。我在这里错过了什么吗?我想这不是我试图争辩Select is Broken ......

的情况

编辑:请参阅下面的答案。

1 个答案:

答案 0 :(得分:2)

看来这个问题是我不耐烦的一个例子。

adUser.Properties["department"].Value = department;
adUser.CommitChanges();

正是我所需要的;此时尚未通过所有AD服务器复制更改。