获取Exchange Server的用户时区

时间:2017-01-19 18:12:57

标签: outlook timezone exchange-server exchangewebservices

我遇到了一些问题。我正在开发一个小型outlook插件(在c#中),具有以下功能(非常简化):

使用他们的时区从Exchange Server获取所有用户,并将该信息添加到邮件主体。

获取所有用户并不是一个问题,但我不知道如何获取他们的时区。

outlook and exchange server sersion - 2010

有没有办法实现这个目标? 请指教。

2 个答案:

答案 0 :(得分:2)

您可以尝试使用getuseravailability,如果它能够正常工作,那么很多用户都会看到TimeZone and Working Hours for Users through EWS。或尝试这样的事情http://gsexdev.blogspot.com.au/2015/11/finding-timezone-being-used-in-mailbox.html

答案 1 :(得分:1)

用户的TZ和工作日作为隐藏消息存储在日历文件夹中 - 您可以在OutlookSpy中查看数据 - 转到日历文件夹,单击IMAPIFolder按钮,转到“关联内容”选项卡,双单击PR_MESSAGE_CLASS == "IPM.Configuration.WorkHours"的行,查看IMessage窗口中的PR_ROAMING_XMLSTREAM stream属性(单击Value编辑框旁边的“...”按钮)。

我认为您无法使用Outlook对象模型从属于其他用户的共享文件夹中检索隐藏项目。您可以尝试使用扩展MAPI(C ++或Delphi)或EWS。如果使用Redemption是一个选项,它会明确公开RDOExchangeMailbox.CalendarOptions属性。