DirectoryNotificationControl不通知某些更改

本文关键字:通知 DirectoryNotificationControl | 更新日期: 2023-09-27 18:10:44

我正在编写一个c#应用程序,用于监视Active Directory的某些更改,并将这些更改同步到另一个系统。为此,我使用了c#中的System.DirectoryServices.Protocols.DirectoryNotificationControl,所以我不必轮询AD进行更改。

在大多数情况下都很有效。如果我编辑用户并将用户添加到组中,就会收到通知。但是,如果我编辑一个组并向该组添加一个用户,则不会收到关于用户更改的通知。虽然我收到了关于组更改的通知,但随后我必须扫描组成员并维护交叉检查列表并进行比较。这是不可伸缩的。

关于如何在Active Directory中更准确地获得组成员资格更改的通知,有什么想法吗?

欢呼,基督教

DirectoryNotificationControl不通知某些更改

组成员关系存储在组中。将用户添加到组中不会对其进行修改。用户属性上的组成员关系的显示是通过memberOf属性的抽象,该属性在请求时动态计算。

完全同意@Brian Desmond的观点,您可以在用户安全属性微软文章(查找memberof)中找到他所谈论的内容的源信息。您还可以阅读到,您可以在连接到全局目录

中获得更多信息。

WMI可能是您可以深入研究的第二个解决方案。它存在AD WMI提供程序。使用WMI监控广告可以提供一些线索。本文只介绍到目前为止所了解的内容,但我认为使用WMI事件可以创建所需的通知。您可以在监视活动目录运行状况,特别是活动目录WMI提供程序中找到有关此问题的Microsoft信息。