【发布时间】:2010-12-11 07:50:52
【问题描述】:
我需要更新一些 AD 查询代码,并希望使用新的 .NET 3.5 System.DirectoryServices.AccountManagement 对象以托管方式查询 AD,而不是我们当前使用 LDAP 的方法。
我在读取 UserPrincipal.Guid 值时遇到了一个奇怪的问题。事实证明,它与我们通过 LDAP 使用的 Guid 相似但不同。
起初它们看起来完全不同,但在第二次拍摄时,我发现后半部分是相同的,前半部分只是简单地转置了,即:
新 (.NET 3.5) 方法 GUID: 01234567-89ab-cdef-0123-456789abcdef
上一页 (LDAP) 方法 GUID: 67452301-ab89-efcd-0123-456789abcdef
我检查了 LDAP 代码,发现我们正在使用 SearchResult.GetDirectoryEntry().NativeGuid 字段来获取旧 Guid。
它有一个名为 SearchResult.GetDirectoryEntry().Guid 的不同属性,它与我使用新的 .Net 3.5 类检索的 GUID 相同。
我的问题是,为什么它们(有点)不同,我应该使用哪个?
【问题讨论】: