DirectoryEntry CommitChanges () не фиксирует изменения? - PullRequest
3 голосов
/ 06 декабря 2011

Прежде чем вы закроете этот вопрос как дубликат, стоит отметить, что ответ не сработал.

Итак, вот что я пробовал до сих пор:

Первая попытка была использовать .InvokeSet для записи:

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

Вторая попытка была последовать за ответом на Вызов commitChanges () ничего не делает в Active Directory? и попробуйте напрямую получить доступ к собственному объекту:

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

После этого вместо IADsUser.

Наконец, я только что попытался установить его из свойства Value:

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

Так что я в растерянности. Ничто из вышесказанного не помогло сохранить изменения. У меня есть доступ для записи, и я не получаю никаких исключений. Я просто что-то упустил, здесь? Я хотел бы думать, что это не тот случай, когда я пытаюсь спорить Выбор сломан ...

РЕДАКТИРОВАТЬ: см. Ответ ниже.

1 Ответ

2 голосов
/ 06 декабря 2011

Кажется, проблема была в моем нетерпении.

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

сделал именно то, что мне было нужно;изменения просто не реплицировались на всех серверах AD на тот момент.

...