2012-01-09 12 views
-3

私はADプロパティに以下の方法でアクセスします。私のローカルVHD(ドメイン/ローカル/エンタープライズ管理者)では正常に動作しますが、ドメインユーザー(ローカル管理者アクセスのみ)からアクセスすると同じことはできません。AD(アクティブディレクトリ)プロパティへのアクセス

同じドメインユーザー(ローカル管理アクセスのみ)は、ADExplorer(SysInternal)ツールを使用してすべてのADプロパティの詳細にアクセスします。

それはアンマネージドコードで、アクセスするためのWindows APIと.Netを持っているからです。ドメイン管理者か特権が必要ですか?

また、別の方法があります。これは、.Netに追加のドメインレベル特権を持たずにADプロパティにアクセスするために欠けているものですか?

public void getCurrentUserADDetails(string UserName) 
{ 
    string ladpQueryStr = "LDAP://sp.com"; 

    DirectoryEntry dirEntry = new DirectoryEntry(ladpQueryStr); 
    DirectorySearcher srch = new DirectorySearcher(dirEntry); 

    srch.Filter = "(cn=" + UserName.ToLowerInvariant().Trim() + ")"; 

    srch.PropertiesToLoad.Add("name"); 
    srch.PropertiesToLoad.Add("memberOf"); 
    srch.PropertiesToLoad.Add("prop123"); 

    SearchResult searcResult = srch.FindOne(); 

    if (searcResult != null) 
    { 
     ResultPropertyCollection propertiesCollection = searcResult.Properties; 

     List<DisplayClass> grdDataList = new List<DisplayClass>(); 

     foreach (string strKey in propertiesCollection.PropertyNames) 
     { 
     DisplayClass dispC = new DisplayClass(); 
     dispC.pName = strKey; 
     dispC.pValue = Convert.ToString(propertiesCollection[strKey][0]); 

     grdDataList.Add(dispC); 
     } 

     dataGridView1.DataSource = grdDataList; 
    } 
} 

これは、ASP.Net

に事前のおかげを実行しようとしている:)

+1

ドメインユーザー(管理者以外)の例外を投稿できますか? –

+1

AppPoolを所有するユーザーはADにアクセスできますか? –

答えて

0

私はあなたが統合された真偽を使用していると仮定 - これが機能するためには、あなたはセットアップアカウントの委任を持っていますアプリケーションをドメインコントローラで実行している場合を除きます。これはかなり難しいプロセスですが、Googleにはたくさんの情報があります。

0

Explicit認証を使用して検索フィルタを変更することで、結果が得られました。

DirectoryEntry dirEntry =新しいDirectoryEntry(パス、ユーザー名、パスワード、認証タイプ);

関連する問題