如何判断不同域控制器中AD实体的最新版本?是否存在全局USN?
跨AD域控制器判断实体变更先后的方案
- 不存在全局统一的USN属性,每个DC的
usnChanged都是本地维护的序列号,跨DC不具备直接可比性。 - 要判断同一实体在不同DC的变更版本优先级,推荐采用以下两种方式组合判断:
- 优先使用
whenChanged属性:这是AD林级别的统一时间戳,记录的是实体在整个林中首次被修改的时间,所有DC最终会同步这个值,是跨DC判断变更先后的核心依据。 - 极端场景补充:结合
invocationID与usnChanged:如果不同DC返回的whenChanged时间完全一致(极少出现),可以用对应DC的唯一invocationID(存储在配置分区内该DC的NTDS Settings对象中)加上该DC的usnChanged,组合成唯一标识来区分顺序——因为同一DC内的usnChanged是严格递增的。
- 优先使用
- 注意:
timeChanged仅代表实体在本地DC的修改时间,不能用于跨DC的变更先后判断。
内容的提问来源于stack exchange,提问作者ophir g
相关产品推荐
相关产品推荐

