【问题标题】:Changes in Active Directory in .NET c#.NET c# 中 Active Directory 的变化
【发布时间】:2015-04-23 22:09:35
【问题描述】:

我正在为所有用户和组的活动目录之间的内部 .NET 应用程序之间进行同步。我从 Active Directory 获取所有用户和组,并将这些数据保存在 .NET 应用程序数据库中。

我正在使用 PrincipalContext 对象进行 Active Directory 查询。我想确定是否更改用户或组以提供高性能。有什么办法吗?例如 LastModifiedDate 属性为 GroupPrincipalUserPrincipal 对象。

【问题讨论】:

  • 澄清一下,您是在问是否有某种方法可以 获取已更改的信息?例如:如果自上次更新以来唯一的更改是将 John Smith 添加到“管理员”中,那么您的 pull 将只有该更改,或者您是否要求快速搜索更改?
  • 更多关于 @DakotahHicock 所说的内容...您是否要求为 Active Directory 对象提供类似 LastModifedDate 属性的内容?因此,如果我今天通过将用户 bloggs\joe 添加到 Administrators 组来修改用户,那么 LastModifiedDate 会更新到今天吗?这样您就不必扫描更改了吗?
  • 我要求为 Active Directory 对象提供 LastModifedDate 属性。如果用户更新,我决定更新数据库中的用户或组。

标签: c# .net active-directory principalcontext


【解决方案1】:

我相信您正在寻找的用户属性被称为:

WhenChanged

【讨论】:

  • 我认为这会比仅更改帐户更频繁地更新。我正在查看我们的,所有帐户都显示在上周更新,但我知道 99% 的帐户没有任何变化
  • 它可能正在获取对对象权限的更改。如果 OP 正在寻找更精细的解决方案来检查特定类型的更改,则需要更详细的解决方案。
  • 在我看来,这就是 OP 需要做的。 WhenChanged 几乎与您将要获得的一样接近,但是您会得到很多误报,这使得它实际上对他想做的事情毫无用处。与仅处理员工相比,检查此字段可能需要更多时间(取决于每个员工处理的内容)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多