2011-10-06 45 views
2

我正在編寫一個C#應用程序來監視Active Directory的某些更改,並將這些更改同步到另一個系統。我使用C#中的System.DirectoryServices.Protocols.DirectoryNotificationControl來達到這個目的,所以我不必輪詢AD以進行更改。DirectoryNotificationControl不通知某些更改?

適用於大多數情況。如果我編輯用戶並將用戶添加到組中,我會收到通知。但是,如果我編輯組並將用戶添加到該組,則不會收到關於用戶更改的通知。儘管我收到了關於羣組更改的通知,但是我必須掃描羣組成員並維護一個交叉檢查列表並進行比較。哪個不能縮放。

關於如何更精確地獲得有關Active Directory中組成員更改通知的任何想法?

乾杯, 基督教

回答

3

組成員被存儲在該組。將用戶添加到組時不會對用戶進行任何修改。在用戶屬性上顯示組成員身份是通過memberOf屬性的抽象,該屬性在請求時即時計算。

2

完全同意@Brian Desmond,你可以在User Security Attributes Microsoft文章(查找memberof)找到他正在談論的內容的來源信息。您也可以閱讀,您可以獲得更多信息連接到全球目錄

WMI也許是您可以挖掘的第二個解決方案。它存在AD WMI提供程序。 Using WMI to Monitor AD爲您提供了一些線索。本文所做的並不比迄今爲止所做的更多,但我認爲,通過WMI事件,您可以創建所需的通知。你可以在Monitoring Active Directory Health找到關於這個開始的微軟信息,特別是Active Directory WMI Providers