【问题标题】:Getting Exchange Server's users timezone获取 Exchange Server 的用户时区
【发布时间】:2022-04-28 23:48:16
【问题描述】:

我有点问题。我正在开发一个具有以下功能(非常简化)的小型 Outlook 插件(在 c# 中):

从 Exchange Server 获取所有用户及其时区,并将该信息添加到邮件正文。

获取所有用户并不是什么大问题,但我不知道获取他们的时区。

Outlook 和 Exchange 服务器版本 - 2010

有没有办法做到这一点? 请指教。

【问题讨论】:

  • 用户可以通过OWA设置,也可以通过powershell读取。但是,如果他们使用 Outlook,则它是您需要从那里收集的本地操作系统值。因此,不确定您希望从 Exchange 服务器获得什么。
  • 您好,感谢您的回复。我不确定我是否已经把我的问题说清楚了。我需要我的 OWA 插件来获取服务器的用户时区。我知道这可以通过 powershell 实现,但是无论如何可以从 Outlook 客户端执行此操作?
  • 即userOne - ETS UserTwo - PTS 等

标签: outlook timezone exchange-server exchangewebservices


【解决方案1】:

您可以尝试使用 getuseravailability,如果它有效,对于很多用户来说,这将是最有效的方法,请参阅 TimeZone and Working Hours for Users through EWS 。或者试试这样的http://gsexdev.blogspot.com.au/2015/11/finding-timezone-being-used-in-mailbox.html

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-14
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-22
      • 1970-01-01
      • 2015-10-12
      相关资源
      最近更新 更多