0

Active Directory とローカル ユーザーおよびグループの両方を操作するアプリケーションを作成しています。LocalHost に対して WinNT プロバイダーを使用して取得した一意の識別子として、DirectoryEntry の NativeGuid プロパティを使用できると考えました。ただし、LinqPad で次のコードを使用する、両方のエントリで同じ NativeGuid が得られます。LDAP プロバイダーを使用して Active Dirctory にクエリを実行すると、固有の結果が得られるように見えますが、今はわかりません。

System.DirectoryServices.DirectoryEntry localuserde = 
  new System.DirectoryServices.DirectoryEntry("WinNT://localhost/localuser");
localuserde.NativeGuid.Dump("localUser Guid");
    
System.DirectoryServices.DirectoryEntry adminde = 
new System.DirectoryServices.DirectoryEntry("WinNT://localhost/administrator");
adminde.NativeGuid.Dump("administrator Guid");

WinNTプロバイダーを使用するときにNativeGuidが何を表しているかを誰かが説明してもらえますか?

上記を LinqPad で実行するには、F4 キーを押して System.DirectoryServices.dll をアセンブリのリストに追加します。次に、localuser が存在することを確認するか、名前をシステム上のローカル ユーザーに変更します。次に F5 を押します。

ありがとう、

シェーン・ホルダー

4

2 に答える 2

0

この他の質問は、NativeGuid を使用しないように言っています。代わりに「SID」を使用します。

于 2009-05-14T20:28:39.773 に答える
0

ここでのユーザーおよびグループ関連のシナリオでは、SID がおそらく最善の策だと思います。特に WinNT プロバイダーの場合は特に、一意の識別子は他にありません。

WinNT と LDAPの議論の詳細、および各プロバイダーが実際に公開しているプロパティ (およびその名前) に関する優れたリファレンス Excel シートについては、Richard Mueller のHilltop Labにアクセスしてください。Richard は ADSI MVP であり、Active Directory と LDAP に関心のあるすべての人にとって優れたコンテンツを提供しています。

マルク

于 2009-05-14T20:28:57.667 に答える