我需要一种方法来识别用户,如果我们的电子邮件或用户名命名规则改变不会改变; 他们已经过去了。 我们使用LDAP,但是我们的国际办公室使用Active Directory,所以我在这里有点绿色。
我从转储注意到,所有用户都有一个唯一的值分配给uSNCreated。 这是全球唯一的用户? 如果它们的任何属性改变,它会改变吗? 这是我独一无二的AD的圣杯吗?
为什么不使用微软使用的价值 – SID? 这是作为二进制存储在objectSid属性中。 这样做的另一个好处是,如果将来您的用户在域之间移动,objectSid将被存储在sIDHistory中,以便协调这些更改。
@ sysadmin1138的回答是有点误导。 uSNCreated与时间无关; 它只在DC上是唯一的。 在创build对象时是DC的“highestCommittedUsn + 1”。 他可能把它与创build时间混合在一起,这是一个64位数字,表示自1601年1月1日中午12:00以来的100纳秒间隔的数目…也不一定是唯一的。 然而,他是正确的,objectGuid和objectSid最适合用来通过属性更改来跟踪对象。 两者都始终设置在所有的用户对象,并永远不会改变没有删除和重新创build的对象…在这个时候所有的赌注是closures的追踪对象!
这个领域实际上是一个鬼鬼祟祟的date时间领域,并不保证是唯一的。 一个更好的领域是“objectGUID”。 这是独一无二的。