2009-05-06 113 views
1

我正在尝试从Active Directory获取用户GUID。我的代码:如何使用WinNT协议从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?

回答

4

查看Richard Mueller的Hilltop Lab,他有大量的电子表格显示各种提供程序公开的所有属性。特别是,他的WinNT提供程序公开的属性列表显示,没有用户的“GUID”或OID之类的东西或类似的东西。

请注意 - WinNT提供程序仅用于向后兼容性,并且只能在本地计算机帐户上正常运行。

如果您想要访问DOMAIN帐户,您应该尽可能使用LDAP提供程序 - 它可让您访问用户帐户上的所有LDAP属性。

Marc

+0

我同意NT只是抓住用户名是好的,但你应该使用LDAP这样的东西。 – PeteT 2009-05-06 07:59:37

0

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

+0

不,我需要GUID - 与Yonkly表连接。 – 2009-05-31 20:18:01

相关问题