我正在尝试唯一地标识 Active Directory 域中的对象。遗憾的是,sAMAccountName 或邮件地址可能会更改,objectSid 也是如此。但我看到还有一个 objectGUID。
我只是想知道:这会因为任何原因而改变吗,或者我是否可以假设这永远不会改变?
我之所以问这个问题,是因为我正在从某个应用程序引用一些 AD 对象,并且需要在几周或几个月后回来获取该对象,但该应用程序无法通过任何方式收到更改通知。所以我需要一个永不改变的值。
答案1
http://technet.microsoft.com/en-us/library/cc961625.aspx?ppud=4
复制和粘贴:SID 有时会发生变化。组对象的 SID 不会改变。其他对象属性的值可以改变,但 Object-GUID 永远不会改变。当为对象分配 GUID 时,它会终身保留该值。
答案2
如果有与之关联的 GUID,则它永远不会改变,因为 GUID 代表全局唯一标识符
答案3
如果将计算机作为域成员并重命名它,则 GUID 不应该改变,但如上所述将其从域中删除并将其重新添加到新对象中。
答案4
“当一个对象被分配一个 GUID 时,它会终身保留该值。”
不确定这是否属实。我通过将计算机添加到 AD 域并记录 GUID 来测试这一点。然后我从域中删除了该计算机,重命名了它,然后将其重新添加到同一个域。计算机上的 GUID 不同。我很好奇是否还有其他人可以验证这一点。