C# 使用DirectoryNotificationControl的异步搜索请求赢得';无法检索已删除的对象

C# 使用DirectoryNotificationControl的异步搜索请求赢得';无法检索已删除的对象,c#,active-directory,ldap,C#,Active Directory,Ldap,我正在使用此搜索: SearchRequest request = new SearchRequest("CN=Users,DC=xx,DC=xxx", "(objectclass=*)", SearchScope.OneLevel, new string[] {"isDeleted", "objectGUID", "uSNChanged"}); request.Controls.Add(new DirectoryNotificationControl());

我正在使用此搜索:

        SearchRequest request = new SearchRequest("CN=Users,DC=xx,DC=xxx", "(objectclass=*)",  SearchScope.OneLevel, new string[] {"isDeleted", "objectGUID", "uSNChanged"});
        request.Controls.Add(new DirectoryNotificationControl());        

        IAsyncResult result = Connection.BeginSendRequest(
            request,
            PartialResultProcessing.ReturnPartialResultsAndNotifyCallback, 
            RunAsyncSearch, // Callback that processes responses
            null
            );
当用户被删除时,它不会通知。我还试图补充一点

request.Controls.Add(new ShowDeletedControl());
但这没用。我在中检查了tombstoneLifeTime(设置为180)

奇怪的是,来自的搜索只返回一个结果:

ldap_search_ext_s(ld, "<WKGUID=18E2EA80684F11D2B9AA00C04F79F805,DC=xxx,DC=xxx>", 2, "(objectclass=*)"), attrList,  0, svrCtrls, ClntCtrls, 6000, 10000 ,&msg) Getting 1 entries: Dn: CN=Deleted Objects,DC=xxx,DC=xxx
ldap\u search\u ext\s(ld,”,2,”(objectclass=*)”,attrList,0,svrCtrls,ClntCtrls,6000,10000,&msg)获取1个条目:Dn:CN=Deleted Objects,DC=xxx,DC=xxx

(18E2EA80684F11D2B9AA00C04F79F805是众所周知的CN=已删除对象的AD对象GUID)

我提供了上面示例中的LdapConnection,其中包含一个用户的凭据,,该用户是服务器上Administrators组的成员,安装了所需的域控制器,但这还不够。代码必须在提升的权限下运行,因此运行Visual Studio或代码“作为管理员”修复了我的isue。我还可以通过运行具有提升权限的ldp.exe查看已删除的对象。

Hi,已经很长时间了,但您有该示例代码吗。我没有从我的测试中得到任何回应,我也不知道为什么,我不敢看到你的回复过程。
ldap_search_ext_s(ld, "<WKGUID=18E2EA80684F11D2B9AA00C04F79F805,DC=xxx,DC=xxx>", 2, "(objectclass=*)"), attrList,  0, svrCtrls, ClntCtrls, 6000, 10000 ,&msg) Getting 1 entries: Dn: CN=Deleted Objects,DC=xxx,DC=xxx