我正在编写一些代码来使用Active Directory。此代码包括在给定帐户名后撤回用户,然后获取直接报告并获取组成员身份的功能(这些功能可以递归或非反复运行,具体取决于是否需要完整层次结构)。 我已经看到了如何做到这一点的几个答案。然而,所有答案似乎都依赖于杰出名称。
Distinguished Name是用于在活动目录中关联这些对象的外键(在数据库术语中)吗?我的直觉表明,objectGuid将是用于将项目彼此关联的关键,因为它永远不会改变。因此,如果我重新编写查询以使用objectGuid而不是DN,我会假设性能会更好。
提前致谢,
JB
PS。和我的大多数问题一样,性能差异可能微不足道;这更符合学术兴趣/满足我的好奇心。
答案 0 :(得分:6)
如果应用程序存储或缓存存储在Active Directory域服务中的对象的标识符或引用,则对象GUID 是使用的最佳标识符,原因如下:
另一方面,如果重命名或移动对象,则对象的可分辨名称会更改,因此可分辨名称不是可靠的对象标识符。
所以它不是关于性能,它是关于可以使用 objectGUID 搜索目录的可靠性。
来到你的下一个问题:
是否可以查询包含用户/组的组 的objectGUID?
当然是的。检查此link 希望它有所帮助!!