0

我想繪製哪個Exchange用戶擁有哪些Exchange郵箱權限的圖形,並根據權限類型爲它們着色。找出哪些用戶在郵箱上擁有完全訪問權限

截至目前,我無法找到Exchange考慮的所有類型的權限。

我可以使用EWS,找出由用戶自己誰被授予訪問郵箱:

foreach(var permission in calendarFolder.Permissions) { 
    // do sth. 
} 

但後來有這種可能性,即通過增加他的管理員授予某人授權通過郵箱「完全訪問」權限列表。

此列表存儲在哪裏?如何在沒有PowerShell的情況下閱讀它?

回答

1

您不能使用EWS(或任何Exchange郵箱API)只能訪問文件夾級別的DACL您需要閱讀的是郵箱DACL,它只能通過Exchange命令行管理程序(Get- MailboxPermissions)或通過讀取Active Directory中的msexchmailbox安全描述符。

對於使用自動發現功能的特定用戶,您可以獲得AutoMapping郵箱http://technet.microsoft.com/en-us/library/hh529943(v=exchg.141).aspx,該功能通常會告訴您哪個郵箱已授予FullAccess某個特定用戶,以便啓用AutoMapping。 (但是,在自動映射尚未設置,這將不返回郵箱)

 AutodiscoverService esService = new AutodiscoverService(ExchangeVersion.Exchange2013); 
     esService.RedirectionUrlValidationCallback = adAutoDiscoCallBack; 
     esService.Credentials = ncCred; 
     GetUserSettingsResponse gsr = esService.GetUserSettings("[email protected]", UserSettingName.AlternateMailboxes); 
     AlternateMailboxCollection amCol = (AlternateMailboxCollection)gsr.Settings[UserSettingName.AlternateMailboxes]; 
     foreach (AlternateMailbox am in amCol.Entries){ 
      Console.WriteLine(am.DisplayName); 
     } 

乾杯 格倫

+0

'msexchmailboxsecuritydescriptor'是這裏的關鍵... THX! – Alexander 2014-09-05 07:16:03

相關問題