2016-05-05 11 views
1

UserPrincipalオブジェクトを使用してユーザーの詳細を取得するActive Directory検索ツールがあります。私はSystem.DirectoryServicesSystem.DirectoryServices.AccountManagementを使用しており、コンテキストを介してADにアクセスしています。従業員のUserPrincipalオブジェクトからマネージャのUserPrincipalオブジェクトを取得する方法

しかし、ユーザーのマネージャーを個別のUserPrincipalオブジェクトとして取得する必要もあります。これについて最も直接的な方法は何でしょうか?

私は次のことを試してみましたが、残念ながらキャストは動作しません。

DirectoryEntry directoryEntry = (DirectoryEntry)userPrincipal.GetUnderlyingObject(); 
UserPrincipal manager = (UserPrincipal)directoryEntry.Properties["manager"][0]; 

ので、私は」私はすべてのUserPrincipalオブジェクトの内部UsersManager呼ばUserPrincipal性質があることを望んだが、私はこれを見つけることができませんよそんなことはないと思う。

ありがとうございます!

答えて

1

manager属性はマネージャーアカウントの識別名を提供します。これは単なる文字列です。したがって、そのDNを使用してマネージャーのアカウントを検索する必要があります。

これはうまくいくかもしれない(すでにcontextオブジェクトを持っていると仮定):1が機能しなかったこと

UserPrincipal manager = UserPrincipal.FindByIdentity(context, IdentityType.DistinguishedName, directoryEntry.Properties["manager"][0].ToString()); 
+0

が、この1つはやった: のUserPrincipalマネージャ= UserPrincipal.FindByIdentity(文脈、directoryEntry.Properties [ "manager"] [0] .ToString()); 私はあなたの答えと感謝を受け入れています:) –

+0

未定のコード:)私はそれが助けてうれしいです。私は私の答えを更新します。 –

関連する問題