Я просто хочу сначала немного уточнить. Не уверен, хотите ли вы настроить синхронизацию для правильных профилей пользователей (что ответ mundeep хорошо решает) или общего списка SP.
Если вы ищете:
AD <-> список SharePoint
Вероятно, проще разбить эту проблему на две части:
AD -> Список SP
и
SP list -> AD
Для AD -> Список SP
Microsoft предоставляет руководство по мониторингу AD на наличие изменений . К сожалению, ни один из этих методов не является конкретной системой сообщений о событиях (если кто-то знает об этом, пожалуйста, включите!), Оба по сути опрашивают.
Я бы создал службу Windows для обработки этой части решения.
Служба будет (в псевдокоде):
- искать записи, которые изменились
- для каждой записи, которая изменилась:
- получить соответствующий элемент SP из списка SP (возможно, на основе имени пользователя)
- обновить / добавить / удалить свойства элемента SP
- сохранить предмет SP
Для списка SP -> AD
Я бы создал собственный обработчик событий и приложил его к списку SP.
Опять в псевдокоде:
При удалении элемента SP:
- удалить соответствующую запись AD (если это поведение, которое вы хотите)
На предмете SP создать:
Обновление элемента SP:
- найти соответствующую запись в AD
- обновить измененные свойства (которые отмечены в обработчике событий SP)
Сторона SP немного элегантнее, потому что события возникают только тогда, когда что-то происходит. Это определенно более эффективно, чем опрос.
То, что я предлагаю, имеет дополнительное преимущество, заключающееся в удалении SQL (явно) из решения. Вы можете использовать интерфейс ADSI в .NET Framework для обработки кода обновления AD. Он находится в System.DirectoryServices сборке.
Служба опроса AD может использовать объектную модель SP, если она установлена в блоке WSS, или веб-службы, если она находится в другой системе.
Опять же, если вы просто хотите использовать реальные профили пользователей WSS / SP, используйте решение mundeep.