C# NET c中Active Directory的更改#

C# NET c中Active Directory的更改#,c#,.net,active-directory,principalcontext,C#,.net,Active Directory,Principalcontext,我正在为所有用户和组处理active directory之间的内部.NET应用程序之间的同步。我正在从Active Directory获取所有用户和组,并将这些数据保存在.NET应用程序数据库中 我正在使用PrincipalContext对象进行Active Directory查询。我想确定是否更改用户或组以提供高性能。有没有办法,;例如GroupPrincipal或UserPrincipal对象的LastModifiedDate属性。我相信您要查找的用户属性名为: WhenChanged 我

我正在为所有用户和组处理active directory之间的内部.NET应用程序之间的同步。我正在从Active Directory获取所有用户和组,并将这些数据保存在.NET应用程序数据库中


我正在使用
PrincipalContext
对象进行Active Directory查询。我想确定是否更改用户或组以提供高性能。有没有办法,;例如
GroupPrincipal
UserPrincipal
对象的
LastModifiedDate
属性。

我相信您要查找的用户属性名为:

WhenChanged

我想澄清一下,你是在问,是否有办法只获取更改后的信息?例:如果上次更新后唯一的更改是John Smith被添加到“Administrators”中,那么您的pull将只会有该更改,或者您正在寻求一种快速搜索更改的方法?更多关于@DakotahHicock所说的内容。。。您是否要求Active Directory对象具有类似于
lastModifiedDate
的属性?因此,如果我今天修改了用户
bloggs\joe
,将其添加到
Administrators
组,那么
LastModifiedDate
将更新到今天?这样您就不必扫描更改了?我要求的是类似于Active Directory对象的LastModifiedDate属性的内容。若用户被更新,我决定更新数据库中的用户或组。我认为更新的频率比更改帐户要高。我正在查看我们的帐户,所有帐户都显示在上周更新,但我知道99%的帐户没有更改,这可能是因为对对象权限进行了更改。如果OP正在寻找一个更细粒度的解决方案来检查特定类型的变更,那么就需要一个更详细的解决方案。在我看来,这就是OP需要做的。当“改变”接近你将要得到的,但你会得到这么多的误报,这使得它实际上对他想做的事情毫无用处。与只处理员工相比,检查此字段可能需要更多的时间(取决于每个员工处理的内容)