2009-05-06 105 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

相關問題