2012-02-08 57 views
1

我必須在C#中編寫一個ASP.NET應用程序,該應用程序返回交換mailaccount的mailquota。交換機連接到活動目錄,mailquota設置爲默認。從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查看權限即可查看這些對象。

+0

我用用戶證書連接到AD。 mdbUseDefaults屬性傳遞true,但我不知道如何獲得郵件配額值。 – jwillmer 2012-02-13 08:49:27

+1

那麼用戶的信用將沒有足夠的權限來讀取郵箱數據庫的配額。您從他們的賬戶上的homeMdb獲取他們的數據庫,然後在該對象上設置相同的配額屬性。 – 2012-02-13 21:04:44