域的唯一标识符

我问了一个关于StackOverflow的问题,并被指示在这里问一个相关的问题,看看我能否得到任何额外的input。 基本上,我希望让我的应用程序知道它在哪个下运行,如果有的话。 (我只想在内部公开某些debugging工具,而且由于我们的部署模型,不可能有不同的构build)。由于我偏执狂,我不想只依靠域名来保证我们在家里 因此,我注意到从DsGetDcName返回的DOMAIN_CONTROLLER_INFO有一个与之相关的GUID,但是如果有任何信息,我可以find它。 我假设这个GUID是在创build一个域中的第一个DC时生成的,而且它将在域的生命周期中生存。 其他人是否有任何内在的知识,并会友好地证实或否认我的假设?

按照Active Directory命名标准 ,

每个对象都有一个在创build对象时分配的GUID。

SID与GUID状态

当一个对象被分配一个GUID时,它将终生保留这个值。

如何域名重命名工作状态

每个域和应用程序目录分区也由全局唯一标识符(GUID)标识,该标识符不会随域重命名而更改。

在我的域上,唯一附加到域对象的GUID是“objectGUID”。 Object-Guid属性有关于objectGUID的说法:

该值在创build对象时设置,不能更改。

是的,我期望这是该域的objectGUID这是一个很好的唯一标识符在这里。

除了Mike所说的,在一般用户或计算机的情况下,你还有两个标识符。 objectGUID和SID(安全标识符)。 两者都设置在创build对象的情况下,但是在具有多个域的森林的情况下,如果您在域之间移动用户/计算机,则GUID将保持不变,但SID将会更改。