Active directory 活动目录

Active directory 活动目录,active-directory,ldap,Active Directory,Ldap,如何使用LDAP从Active directory获取已删除对象的详细信息。*这个答案来自坐在我旁边的承包商,他碰巧对AD非常了解。他说,如果你有任何问题,请给他发电子邮件(提供链接) 使用dsquery (LDAP查询) …另一种方法是使用以下命令从命令行执行DSquery您应该能够检索保留在逻辑删除中的大多数属性(所有属性都在一行中):请记住,此查询不一定会返回墓碑中保留的所有属性-一些关键对象和列表的更改是硬编码的,并且无论searchflags状态如何,都将保留在墓碑中。这是我使用的解决

如何使用LDAP从Active directory获取已删除对象的详细信息。

*这个答案来自坐在我旁边的承包商,他碰巧对AD非常了解。他说,如果你有任何问题,请给他发电子邮件(提供链接)

使用dsquery

(LDAP查询)

…另一种方法是使用以下命令从命令行执行DSquery您应该能够检索保留在逻辑删除中的大多数属性(所有属性都在一行中):请记住,此查询不一定会返回墓碑中保留的所有属性-一些关键对象和列表的更改是硬编码的,并且无论searchflags状态如何,都将保留在墓碑中。这是我使用的解决方案,需要对他们的域进行一些调整。 dsquery*cn=schema,cn=configuration,dc=yourcomain,dc=com -过滤器“(&(objectClass=AttributeSchema)(searchFlags:1.2.840.113556.1.4.803:=8))”
-作用域子树-attr name

在MSDN上,使用.NET framework类在Active Directory中查找tombstone对象时遇到了一个问题。

很遗憾,删除的对象没有那么多可用的数据。根据我的经验,只保留了足够的数据,以便能够将删除复制到其他DC。您可以通过System.DriectoryServices获得可用信息。其中一些似乎与安全性有关,不希望人们在查看旧项目时到处乱翻。

要使用LDAP服务器从active directory获取已删除对象的详细信息,在获取详细信息之前,我们应该了解管理限制。这些管理限制如InitRecvTimeout、maxactivequerys、,MaxConnections、MaxConnIdleTime、MaxPageSize、MaxPoolThreads、MaxQueryDuration、MaxValRange

一旦我们意识到管理的限制,我们应该能够默认用户设置


在此之后,转到并查看当前策略设置…在命令提示下键入LDAP设置,然后按enter键,然后键入连接,然后在显示所有连接后,查看哪些连接不可见。这将使您知道在LDAP上删除了哪些用户。

您可以使用DirectorySearcher列出删除的对象,并将Tombstone属性设置为true

using(DirectorySearcher srch = new DirectorySearcher(de))
    {
        //to return only deleted objects otherwise you can give any valid LDAP filter
        srch.Filter = "isDeleted=TRUE";

        // Instruct the DirectorySearcher to return deleted objects
        srch.Tombstone = true;

        srch.FindAll();
        //...


}

删除的对象存储在单独的容器中,以检索具有外观的对象


它是内置功能,应具有Windows Server 2008或更高版本的操作系统。

@JasonMiesionczek提供英语回答(
en-US
en-CA
)。如果需要另一种语言,海报可能会将其转换为自己的语言。@Loganathan:第一个答案似乎是正确的。也许你可以把它标记为答案。