2009-05-06 12 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はユーザー名を取得するだけでOKですが、このような場合にはLDAPを使用する必要があります。 – PeteT

0

多分あなたはSID(セキュリティ識別子)を意味します。 GUIDと同様に、少なくともドメインツリー全体で一意です。私はプロパティが "objectSid"だと思う。バイナリ(byte [])です。私はそれがどれほど大きいのか覚えていない(28バイト?)が、GUIDではないことは確かだ。

+0

いいえ、私はGUIDが必要でした - Yonklyテーブルとリンクしてください。 –

関連する問題