Я хотел бы передавать информацию из Active Directory в базу данных Microsoft SQL Server каждый раз, когда в Active Directory вносятся изменения. Таким образом, SQL всегда будет иметь надежную копию AD. Ну, я читал пост, посвященный схожим вопросам, но не могу найти решения.
В этом посте, например: https://stackoverflow.com/questions/4782292/synchronization-between-c-app-and-active-directory , пользователь сказал:
'... Тогда позвольте AD синхронизироваться с SQL.'
Для меня это звучит хорошо, но как я могу это сделать?
@Pablo: Итак, у нас есть существующее приложение на C #, которое управляет пользователями и группами в SQL. Мы бы хотели, чтобы это приложение управляло также Active Directory. Идея состоит в том, чтобы запрашивать Active Directory (AD) непосредственно с приложением, но при этом продолжать сохранять информацию в SQL, как это происходит сейчас. Но вижу проблему: когда вносятся изменения только в Active Directory => SQL не будет обновленной информации, потому что у нас будут разные данные между AD и SQL.
Я вижу, вы предлагаете запросить изменения в AD, и это можно сделать при каждом доступе или с помощью опроса через запланированный интервал. Я не знаком с этим, не могли бы вы объяснить мне, как это сделать?
Лучше всего, чтобы ваше приложение запрашивало изменения в AD. Вы можете сделать это для каждого доступа или с помощью опроса через запланированный интервал. Это можно сделать несколькими способами, и если вы можете предоставить больше информации о том, чего именно вы хотите достичь, я могу предоставить вам несколько методов для этого.
Если все, что вам нужно сделать, это обновить AD, просто используйте функции C # для обновления AD напрямую, даже не синхронизируя его. Гугл дал мне несколько примеров: http://social.msdn.microsoft.com/forums/en/netfxbcl/thread/729d1214-37f5-4330-9208-bc4d9d695ad0/
Если вы действительно хотите синхронизировать систему на уровне предприятия, рассмотрите Forefront Identity Manager. Это можно использовать для синхронизации разных систем.
http://www.microsoft.com/forefront/identitymanager/en/us/default.aspx
@pablo: Итак, у нас есть существующее приложение C #, которое управляет пользователями и группами в SQL. Мы бы хотели, чтобы это приложение управляло также Active Directory. Идея состоит в том, чтобы запрашивать Active Directory (AD) непосредственно с приложением, но при этом продолжать сохранять информацию в SQL, как это происходит сейчас. Но я вижу проблему: когда изменения вносятся только в Active Directory => SQL не будет иметь обновленной информации, потому что у нас будут разные данные между AD и SQL.
Я вижу, вы предлагаете запросить изменения в AD, и это можно сделать при каждом доступе или с помощью опроса через запланированный интервал. Я не знаком с этим, не могли бы вы объяснить мне, как это сделать?