2016-11-29 11 views
0

表示名を以下の方法で取得できますが、ADでその結果のphysicaldeliveryofficenameを見つけることができません。このメソッドは、問題の一部となる可能性があるように、ユーザーだけでなくすべての一致するものを返しますが、ユーザーに検索を絞り込む方法はわかりません。HostingEnvironment.Impersonate()を使用して位置情報フォームを取得する

try 
     { 

      using (HostingEnvironment.Impersonate()) 
      { 
       using (var context = new PrincipalContext(ContextType.Domain, "********")) 
       { 
        UserPrincipal qbeUser = new UserPrincipal(context); 
        qbeUser.GivenName = search.letters; 
        using (var searcher = new PrincipalSearcher(qbeUser)) 
        { 
         foreach (var result in searcher.FindAll()) 
         { 
          list.Add(result.Name); 

         } 
        } 
       } 
      } 
     } 
     catch(Exception e) 
     { 
      return e.ToString(); 
     } 
+0

あなたの問題は明らかではありません。しかし、あなたが「洗練された検索」を望むと仮定すると、Robert Harveyの答え[ここ](http://stackoverflow.com/a/2128747/5588347)を見てください。 –

+0

@AshishSrivastava私は結果オブジェクトからphysicaldeliveryofficenameフィールドを取得しようとしています。 – ZergRush

+0

'result.PhysicalDeliveryOfficeName'を試しましたか? –

答えて

1

Per Noalt's answerのコードに基づく。

var directoryEntry = result.GetUnderlyingObject() as DirectoryEntry; directoryEntry.Properties["PhysicalDeliveryOfficeName"].Value

警告:あなたはそうのように、基になる型で取得する必要があります上記のコードが検証されないキャストを、またプロパティは、オブジェクト上に存在し、そしてヌルチェックを行わないこと。

関連する問題