簡體   English   中英

使用EWS獲取郵箱權限

[英]Get Mailbox Permissions using EWS

我正在創建一個需要獲取每個MailBox權限的應用程序,我似乎無法讓它工作。 我在VS對象瀏覽器中注意到Permissions屬性在Folder類上。

所以我猜我需要獲取MailBox對象,然后獲取root / default文件夾,以便我可以獲得權限。

這是我到目前為止所做的,但是當它調用Folder rootfolder = Folder.Bind(service, sharedMailboxRootFolderId); 我得到以下異常:

“客戶端訪問服務器版本與訪問資源的郵箱服務器版本不匹配。”

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
string exchangeServerWebServicesUrl = "https://example.com/EWS/Exchange.asmx";
service.Url = new Uri(exchangeServerWebServicesUrl);

string username = "*********************";
string password = "*********************";

service.UseDefaultCredentials = false;
service.Credentials = new WebCredentials(username, password);

Mailbox sharedMailbox = new Mailbox("shared@example.com");

FolderId sharedMailboxRootFolderId = new FolderId(WellKnownFolderName.Root, sharedMailbox);
Folder rootfolder = Folder.Bind(service, sharedMailboxRootFolderId);

var permissions = rootfolder.Permissions;

我嘗試傳遞不同的ExchangeVersion枚舉值,但它們也不起作用。 但是當我嘗試獲取Public Folders根文件夾時,傳遞ExchangeVersion.Exchange2007_SP1確實有效。

Folder rootfolder = Folder.Bind(service, WellKnownFolderName.PublicFoldersRoot);

所以問題是如何使用EWS獲得MailBoxes權限?

我剛剛發現找出哪些用戶在郵箱帖子上有完全訪問權限

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

所以看起來不可能使用EWS獲得MailBox權限。 恥辱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM