Вопрос такой.
Есть задача - в БД есть таблица, в которой надо поддерживать актуальные данные о пользователях домена (например, имя пользователя в домене и его почта), т.е. периодически надо обновлять эту таблицу, чтобы добавлять в таблицу новых пользователей.
Используя ADSI подключаюсь с помощью интерфейса LDAP к AD и без проблем заполняю таблицу в БД. Но проблемы возникают, когда надо периодически обновлять инфу в этой таблице. Каждый раз удалять из неё все записи и заносить данные снова - не решение, поскольку эта таблица участвует в связях с другими таблицами в БД и при её очистке эти связи похерятся. Поэтому нужно именно периодическое добавление новых пользователей, которых ещё нет в таблице, и обновление информации о тех пользователях, которые есть в таблице, но данные которых изменились (например, изменилось имя входа в домен, или не было почты, а потом появилась); и всё это должно происходить автоматически, без участия в этом процессе человека.
Так вот, проблема в том, как определять, есть ли данный пользователь домена в таблице или нет. Если бы имя пользователя не менялось, то можно смотреть по имени, но если имя поменялось, то механизм уже не работает и в таблицу добавится ещё одна запись с новым именем, хотя должна просто обновиться существующая.
Вопрос такой. Можно ли с помощью ADSI считывать какое-то уникальное для каждой учётной записи в домене значение какого-либо параметра (например тот же SID), чтобы его тоже хранить в той-же таблице и использовать именно его в качестве критерия вместо имени пользователя? И если можно, то как это сделать? Или может есть у кого другие предложения?
Спасибо.