2012-02-10 63 views
2

我有AD通知正常工作,監視OU的更改(使用從http://dunnry.com/blog/ImplementingChangeNotificationsInNET.aspx更改通知程序)。當創建一個新用戶時,會生成兩個通知,但我無法將兩者分開。我的假設(危險的我知道)是用戶是第一次創建,然後修改,但我不相信是這樣。活動目錄通知 - 如何判斷更改是否爲新用戶

我最初的想法是使用uSNCreated和uSNChanged,但即使在第一次通知時它們也是不同的。同樣,當創建時,對於兩個條目,每個結果的Change和ModifyTimeStamp都相同。

很明顯,必須有一種方法來做到這一點,但我看不到任何可以唯一標識第二個通​​知的屬性。

任何線索?

回答

0

usnChanged基於一個計數器,該計數器對每次AD更改都進行遞增更新,只要您與同一個DC通話。對於您的更改數據,您可以選擇兩者中的較晚者並使用該記錄。要確定記錄是否是新的,您可以跟蹤您從之前收到的更改中看到的任何usnChanged的最高值,並將usnCreated與此相比較。如果usnCreated更大,這是一個新的記錄。

您也可以使用RootDSE中的highestCommittedUSN作爲您的存儲值進行比較,但這需要在完成更改通知處理後執行單獨的查詢。

+0

我不認爲這將工作對我來說。我只監視一個OU,並且可能會在AD的其他地方發生我不關心的更改。 – 2012-02-11 09:03:09

相關問題