如何使用WinNT协议从Active Directory获取用户GUID?

时间:2009-05-06 04:38:01

标签: active-directory

我正在尝试从Active Directory获取用户GUID。我的代码:

DirectoryEntry entry = new DirectoryEntry("WinNT://DOMAIN/UserName");
Console.WriteLine("The GUID of the ADS object:" + entry.Guid);
Console.WriteLine("The Native GUID of the ADS object:" + entry.NativeGuid);

无论用户和域名如何,上述代码始终返回d83f1060-1e71-11cf-b1f3-02608c9e7553。

是否可以使用WinNT协议获取用户GUID?

2 个答案:

答案 0 :(得分:4)

查看Richard Mueller的Hilltop Lab,其中有很多电子表格,显示各个提供商公开的所有属性。特别是,他的WinNT提供商公开的属性列表显示,没有用户的“GUID”或OID或类似的东西。

请注意 - WinNT提供程序仅用于向后兼容,并且仅适用于本地计算机帐户。

如果您想访问DOMAIN帐户,您应该使用LDAP提供程序 - 它将允许您访问用户帐户上的所有LDAP属性。

马克

答案 1 :(得分:0)

也许您的意思是SID(安全标识符)。与GUID一样,它是唯一的,至少跨域树。我认为该属性是“objectSid”。它是二进制(byte [])。我不记得它有多大(28个字节?)但我很确定它不是GUID。