2017-01-19 9 views
0

У меня проблема. Я работаю над небольшим плагином outlook (в C#) со следующими функциями (очень упрощенно):Получение часового пояса пользователей Exchange Server

Получите всех пользователей Exchange Server с их часовым поясом и добавьте эту информацию в почту.

Получение всех пользователей не является большой проблемой, но я понятия не имею, как получить их часовой пояс.

перспектива и сервер обмена sersion - 2010

Есть ли способ для достижения этой цели? Просьба сообщить.

+0

Пользователь может установить это через OWA, вы можете прочитать это через powershell. НО, если они используют Outlook, это значение локальной ОС, которое вам нужно собрать оттуда. Поэтому не уверен, что вы ожидаете получить здесь с сервера Exchange. – BastianW

+0

Здравствуйте, благодарю вас за ответ. Я не уверен, что я сделал свой вопрос ясным. Мне нужен мой плагин OWA, чтобы получить часовой пояс пользователей сервера. Я знаю это достижимое через powershell, но есть ли все-таки сделать это от внешнего клиента? – Greenmachine

+0

i.e. userOne - ETS UserTwo - PTS и т. Д. – Greenmachine

ответ

2

Вы можете попробовать использовать getuseravailability, который, если он будет работать, будет самым эффективным способом для многих пользователей, см. TimeZone and Working Hours for Users through EWS. Или попробовать что-то вроде TZ этого http://gsexdev.blogspot.com.au/2015/11/finding-timezone-being-used-in-mailbox.html

1

пользователя и рабочие дни сохраняются в виде скрытого сообщения в папке Календарь - вы можете увидеть данные в OutlookSpy - перейти в папку календаря, нажмите кнопку IMAPIFolder, перейдите в раздел «Associated Contents» дважды щелкните по строке с PR_MESSAGE_CLASS == "IPM.Configuration.WorkHours", посмотрите на свойство потока PR_ROAMING_XMLSTREAM в окне IMessage (нажмите кнопку «...» рядом с полем «Значение»).

Я не думаю, что вы могли бы получить скрытый элемент из общей папки, принадлежащей другому пользователю, используя объектную модель Outlook. Вы можете использовать Extended MAPI (C++ или Delphi) или EWS. Если опция Redemption является опцией, она явно предоставляет свойство RDOExchangeMailbox.CalendarOptions.