Поймать ActiveDirectory «addUser» событие в C #? - PullRequest
2 голосов
/ 03 ноября 2011

У нас есть возможность «AutoLogin» в наших системах.

Так что, если я создаю нового пользователя в AD с именем «John» - тогда Джон имеет возможность доступа к веб-сайту интрасети (мы запрашиваем ADчтобы увидеть, находится ли текущий пользователь в AD).

Но

У нас также есть таблица users (SQL Server), которая должна иметь FirstNameи LastName нового пользователя.

Мы хотим обновлять эту таблицу Users каждый раз, когда создается новый пользователь в AD - необходимо запустить некоторый код C # для ввода соответствующих данных в SQL Server (инекоторые другие вещи).

КАК я могу поймать событие "новый пользователь в AD создан"?

Ответы [ 3 ]

4 голосов
/ 03 ноября 2011

Ознакомьтесь с отличным сообщением в блоге Райана Данна:

Реализация уведомлений об изменениях в .NET

, посвященных именно этой теме.Он предлагает три варианта:

  • Опрос изменений с использованием uSNChanged
  • Опрос изменений с использованием элемента управления DirSync
  • Уведомления об изменениях в Active Directory

и показывает плюсы и минусы для каждого из параметров, а также код C # для третьего варианта (Уведомления об изменениях).

2 голосов
/ 03 ноября 2011

Вы можете использовать System.DirectoryServices.Protocols .DirectoryNotificationControl из C # для этой цели, поэтому вам не нужно опрашивать AD для изменений.

WMI - это, пожалуй, второе решение, которое вы можете найти. Это провайдеры AD WMI. Использование WMI для мониторинга AD дает вам некоторые подсказки об этом. Эта статья не делает больше, чем вы получаете до сих пор, но я думаю, что с событиями WMI вы можете создавать нужные вам уведомления. Информацию об этом начинании можно найти в Microsoft Мониторинг работоспособности Active Directory , , особенно поставщиков WMI Active Directory .

0 голосов
/ 03 ноября 2011

Маловероятно, что вы можете захватить событие такого рода, не добавляя фактическую функцию добавления нового пользователя в какую-то процедуру c #.Если вы пойдете по этому маршруту, вы можете одновременно добавить использованные в AD и mysql.

Другой вариант - опросить пользователей AD, сопоставить их с существующими пользователями mysql и добавить новых, когда они найдены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...