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

相关问题