2012-02-08 9 views
1

Exchangeのmailaccountのmailquotaを返すASP.NETアプリケーションをC#で作成する必要があります。交換はアクティブなディレクトリに接続され、mailquotaはデフォルトに設定されます。Active Directoryに接続されているExchangeからMailquotaを取得する

私はこれをやろうとしましたが、必要なフィールドを得ることができません。

DirectoryContext context = new DirectoryContext(DirectoryContextType.Domain, "FQD"); 

DomainControllerCollection dcc = DomainController.FindAll(context); 

DirectorySearcher dSearch = dcc[0].GetDirectorySearcher(); 
dSearch.Filter= string.Format("sAMAccountName={0}",model.UserName); 
dSearch.PropertiesToLoad.Add("displayName"); 
dSearch.PropertiesToLoad.Add("mail"); 
dSearch.PropertiesToLoad.Add("mDBOverHardQuotaLimit"); 
dSearch.PropertiesToLoad.Add("mDBStorageQuota"); 
dSearch.PropertiesToLoad.Add("mDBOverQuotaLimit"); 
dSearch.SizeLimit = 10; 

SearchResult sr = dSearch.FindOne(); 

答えて

1

わかりません。データが返されないと言っていますか?ユーザーが既定値(mdbUseDefaultsまたは類似の属性がある)を使用している場合、ユーザーのメールボックスデータベースに戻ってクォータを取得する必要があります。そのリンクはhomeMdb属性に格納されます。ただし、これらのオブジェクトを表示するには、Exchange View-Onlyのアクセス許可が必要です。

+0

ユーザー資格情報でADに接続します。 mdbUseDefaultsプロパティはtrueを返しますが、メールクォータの値を取得する方法はわかりません。 – jwillmer

+1

ユーザーのクレジットは、メールボックスデータベースからクォータを読み取るのに十分なアクセス権を持っていません。自分のアカウントの 'homeMdb'からデータベースを取得し、同じクォータ属性がそのオブジェクトに設定されます。 –

関連する問題