我需要在使用LDAP协议在Active Directory中发生某些事件时收到通知。应触发的事件是:
我搜索了所有互联网,但大多数解决方案都是基于本文末尾的代码:
如该文章所述,有3种方法可以做到:
对于前两个选项,我在Microsoft网站上找到了带有示例的文章,但所有示例都是用c ++编写的,我需要在C#中使用它。
我发现的其他代码示例不完整且不易理解,因此我无法使用它们。
是否有任何解决方案,代码示例等我可以使用类似于提供的文章末尾的代码?
再次,我需要在C#
中使用它由于
答案 0 :(得分:0)
我想分享到目前为止我所取得的成就。因此,我设法使用提供的文章中的第3个解决方案在我的Active目录上设置通知程序:
我意识到(即使它在帖子中提到)它可能只在域中注册5个对象 - 我不完全确定原因,但是服务器有一些限制。我用下一行代码解决了这个问题:
notifier.Register("dc=a24xrmdomain,dc=info",System.DirectoryServices.Protocols.SearchScope.Subtree);
即我设置了要观察的根域,并将监控范围设置为System.DirectoryServices.Protocols.SearchScope.Subtree)
- 所有孩子的。
我发现以这种方式监视Active目录并不是最佳做法,因为如果有很多用户 - 例如10k,则不会触发所有更改。因此,由于您必须具有要监视的先前对象状态,因此可以使用提供的链接中的其他两种方法来完成此任务。我假设您必须为每5秒设置一些计时器,并检查对象的相应字段。