在你将这个问题完全复制之前,值得注意的是答案不起作用。
所以这就是我到目前为止所尝试的内容:
首次尝试是在记录上使用.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 ......
的情况编辑:请参阅下面的答案。
答案 0 :(得分:2)
看来这个问题是我不耐烦的一个例子。
adUser.Properties["department"].Value = department;
adUser.CommitChanges();
正是我所需要的;此时尚未通过所有AD服务器复制更改。