我正在使用此搜索:
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)CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=xxx,DC=xxx
奇怪的是,this tutorial的搜索只返回了一个结果:
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
(18E2EA80684F11D2B9AA00C04F79F805是CN =已删除对象的众所周知的AD对象GUID)
答案 0 :(得分:0)
我从上面的示例中提供了LdapConnection,其中包含用户的凭据,是管理员组的成员,服务器上安装了所需的域控制器,但这还不够。代码必须在提升的权限下运行,因此运行Visual Studio或代码&#34;作为管理员&#34;固定我的意见。我还能够通过运行具有提升权限的ldp.exe来查看已删除的对象。