Настройки синхронизации почты exchange android. Настройка электронной почты Microsoft Exchange на устройствах Android
Настройки синхронизации почты exchange android. Настройка электронной почты Microsoft Exchange на устройствах Android
На просторах интернет пространства существует огромное количество почтовых сервисов и у каждого есть как свои поклонники, так и недоброжелатели. Это касается и одного из самых старых почтовых представителей – Outlook. Это не настолько распиаренный сервис, но из-за того, что он есть в каждой системе Microsoft’a, знают о нём все и многие пользуются. Поэтому в компании довольно быстро сообразили, что пользователям совсем не помешает иметь данный почтовый клиент для Android.
Главными плюсом почты, считают удобство в обращении и безопасность передаваемых файлов и информации. И если первый критерий разделяют не все, так как это довольно субъективный критерий оценки, то со вторым спорить нельзя. Компания очень тщательно бдит за безопасностью работы своих клиентов, поэтому у Outlook большая часть пользователей именно деятели бизнес-сферы.
Настройка почты Outlook для Android
Настроить Outlook на своём Андроид устройстве достаточно просто. Вам предоставляется два, уже ставшими привычными, способа – вручную или с помощью сторонней программы. Оба варианта не будут стоить вам ни копейки, поэтому выбор следует делать по свои вкусам.
Вручную
- Заходите в меню «Электронная почта» на вашем Android-устройстве.
- Выбираете «Добавить учётную запись» и вводите адрес и пароль почты Outlook.
- Далее «Настройка вручную» и «Тип учётной записи» – «Exchange».
- В поле «Имя пользователя» – вводите адрес почты (если вместо имени стоит поле «Домен», то оставляете его пустым).
- Вводите пароль.
- Имя сервера – s.outlook.com
- Поставьте отметку у поля «Установить безопасное соединение»(SSL).
- Выбираете дополнительные параметры и, после этого, начинаете работу.
Этот способ является универсальным для настройки любого почтового сервиса. И Outlook не является исключением.
Простой способ
Более простой способ – официальное приложение
- Скачиваете и устанавливайте программу из Google Play. Это можно сделать по ссылке указанной выше.
- Запускаете его, вводите адрес и пароль почты Outlook.
- Далее выбираете дополнительные параметры, такие как периодичность синхронизации почты, псевдоним и т.д.
- Устанавливаете синхронизацию списка контактов и календаря с приложением.
- Начинаете работу.
Следует отметить, что по сравнению со своей первой версией и тем, что сейчас можно увидеть в Google Play, разработчики сделали огромный шаг вперёд, превратив неприметное приложение во вполне многофункциональный почтовый клиент. Теперь налажена работа с переносом и группированием писем, спамом, push-уведомлениями. Хотя многие пользователи и сейчас отмечают периодические сбои в работе программы и нехватку определённых функций. Но, как уверяют разработчики, работа непрерывно ведётся, и приложение будет постепенно совершенствоваться.
2017. GMail для Android стал полноценным клиентом для Microsoft Exchange
Компании, использующие Microsoft Exchange, получили еще одну опцию мобильного доступа к этому серверу совместной работы. Как известно, нативным мобильным клиентом Exchange является бесплатное приложение Outlook. Но некоторые предпочитают GMail, и теперь его можно использовать как альтернативу Outlook (правда, только на Android). В прошлом году в GMail для Android появилась синхронизация почты из Exchange, а на днях Гугл добавил и синхронизацию задач. Задачи доступны в секции Google Tasks , и с ними можно работать так же просто, как и с гугло-задачами. Поддерживается функция преобразования входящего письма в задачу.
2014. Microsoft выпустила Outlook для Android
Microsoft продолжает реализовывать свою новую политику по выпуску приложений для конкурирующих платформ. В прошлом году бесплатное приложение Outlook (точнее Outlook Web App) для iOS, а теперь оно вышло и для платформы Android. OWA для Android позволяет работать с почтой, календарем и контактами на смартфоне, и все это синхронизируется с онлайновой версией Outlook. Правда, на этом позитив заканчивается. Дело в том, что данное приложение работает только с сервисом Office 365, причем только с бизнес версией (даже Premium не катит). Не работает оно ни с Outlook.com, ни даже с корпоративными серверами Exchange. Более того, оно поддерживается лишь небольшим числом смартфонов начиная с версии Android 4.4 и с ограничениями по размеру экрана. И еще, первые пользователи говорят, что оно жутко тормозит.
2009. В Android 2.0 появилась встроенная поддержка Exchange ActiveSync
Google официально представил свежую версию своей мобильной ОС Android 2.0. Одним из главных обновлений стала встроенная поддержка Exhange ActiveSync. Ранее для синхронизации смартфонов Android с Exchange нужно было устанавливать дополнительные программы сторонних разработчиков. Также компания HTC в нескольких своих девайсах встраивала синхронизацию с Exchange. Android 2.0 предоставляет синхронизацию с Exchange по-умолчанию. Кроме того, пользователь сможет создать комбинированную папку для одновременной работы сразу с несколькими почтовыми серверами.
2009. RoadSync — push-синхронизация Exchange и Android
Компания DataViz разработала клиента для Exchange ActiveSync, работающий на платформе Android. Это первое приложение для Android, которое позволяет получать прямой доступ к корпоративным почтовым ящикам на базе Microsoft Exchange. Программа является платной — в зависимости от типа лицензии стоит $10 или $20. Сейчас программа доступна только в виде бета-версии, однако она уже полностью поддерживает синхронизацию Direct Push с серверами MS Exchange и позволяет владельцам смартфонов с предустановленной Android работать с корпоративной электронной почтой. Кроме того, в программе есть поддержка сервиса Auto-Discovery, появившегося в Exchange 2007.
2009. Moxier Mail — синхронизация Exhange и Android
Программа Moxier Mail обеспечивает прямую синхронизацию Push с использованием Microsoft Exchange 2003 и 2007. Технология Direct Push в Moxier получила лицензию Microsoft Exchange ActiveSync и дает пользователям удобный и безопасный доступ к Exchange Server для смартфонов на платформе Android. Кроме почты синхронизируются контакты, календарь, задачии глобальный список адресов. Программа имеет удобный пользовательский интерфейс, позволяет просматривать HTML-письма, поддерживает SSL. Стоимость программы на Android Market составляет $24,99.
2008. ContactsSync позволяет синхронизировать адресную книгу Exchange с Android
Разработчики популярного онлайн сервиса для управления проектами Wrike выпустили приложение ContactsSync для синхронизации адресной книги Exchange с контактами в смартфонах G1 на платформе Android. Пока поддерживается получение Exchange-контактов на T-Mobile G1, обратная синхронизация пока не поддерживается, то есть нельзя будет использовать контакты смартфона для обновления контактов на сервере Exchange. Однако, разработчики обещают добавить эту функциональность со временем. Относительно синхронизации календаря представители Wrike дают пояснения, что эта возможность зависит от Android API и пока не доступна. Электронная почта с Exchange может быть получена с использованием IMAP, так что синхронизация email не запланирована.
Сегодня мы поговорим о том, как настроить электронную почту на устройствах с операционной системой Android.
Стандартное приложение Gmail, обычно предустановленное в Android-устройствах, позволяет работать не только с почтой от Google, но и с другими почтовыми сервисами, в том числе и корпоративными, стандарта Microsoft Exchange.
Добавления почты популярного сервиса
Для добавления почтового ящика в приложение нажимаем кнопку “Добавить аккаунт” и выбираем сервис, на котором у вас зарегистрирован email. Далее вводим адрес своей электронной почты, пароль к ней и выбираем частоту синхронизации с почтовым сервером и дополнительные настройки.
По завершению процедуры приложение сообщит о добавлении нового аккаунта, а в окне программы появится новая вкладка с именем учетной записи. Если у вас уже был настроен один адрес, то между разными почтовыми аккаунтами будет легко перемещаться, выбирая вкладку с соответствующим именем.
Для сохранности ваших контактов, а также для быстрого переноса их с одного устройства на другое, удобно хранить их на серверах Google.
Добавление рабочей почты
Аналогичным образом можно добавлять адреса с различных почтовых сервисов, причем, если вы пользуетесь, одним из стандартных вариантов, предложенных приложением, то вам не придется заморачиваться с настройкой серверов входящей и исходящей почты. Однако они могут потребоваться при подключении рабочей почты Exchange и почты с малопопулярного ресурса.
В последнем случае для настройки почты в меню “Добавить аккаунт” выбираем последний пункт “Другой”, также вводим адрес электронной почты, после чего приложение попросит вас выбрать тип аккаунта POP3, IMAP или Exchange, а уже следом потребует ввести пароль к аккаунту.
Далее начнется самое интересное, а именно указание адреса почтового сервера для входящей почты, его порта и настроек безопасности. Как правило всю эту информацию можно узнать непосредственно на сайте, предоставляющем услугу пользования почтой. Следом также потребуется настроить сервер исходящей почты, и напоследок уже дополнительные параметры с частой синхронизации и прочее, как в случае с популярными сервисами.
Аккаунт добавлен и в окне программы Gmail появилась вкладка с новым адресом электронной почты и началась загрузка писем.
Таким образом, в стандартном приложении Gmail для Android можно настроить большое количество почтовых адресов на своем телефоне или планшете.
2017. GMail для Android стал полноценным клиентом для Microsoft Exchange
Компании, использующие Microsoft Exchange, получили еще одну опцию мобильного доступа к этому серверу совместной работы. Как известно, нативным мобильным клиентом Exchange является бесплатное приложение Outlook. Но некоторые предпочитают GMail, и теперь его можно использовать как альтернативу Outlook (правда, только на Android). В прошлом году в GMail для Android появилась синхронизация почты из Exchange, а на днях Гугл добавил и синхронизацию задач. Задачи доступны в секции Google Tasks , и с ними можно работать так же просто, как и с гугло-задачами. Поддерживается функция преобразования входящего письма в задачу.
2014. Microsoft выпустила Outlook для Android
Microsoft продолжает реализовывать свою новую политику по выпуску приложений для конкурирующих платформ. В прошлом году бесплатное приложение Outlook (точнее Outlook Web App) для iOS, а теперь оно вышло и для платформы Android. OWA для Android позволяет работать с почтой, календарем и контактами на смартфоне, и все это синхронизируется с онлайновой версией Outlook. Правда, на этом позитив заканчивается. Дело в том, что данное приложение работает только с сервисом Office 365, причем только с бизнес версией (даже Premium не катит). Не работает оно ни с Outlook.com, ни даже с корпоративными серверами Exchange. Более того, оно поддерживается лишь небольшим числом смартфонов начиная с версии Android 4.4 и с ограничениями по размеру экрана. И еще, первые пользователи говорят, что оно жутко тормозит.
2009. В Android 2.0 появилась встроенная поддержка Exchange ActiveSync
Google официально представил свежую версию своей мобильной ОС Android 2.0. Одним из главных обновлений стала встроенная поддержка Exhange ActiveSync. Ранее для синхронизации смартфонов Android с Exchange нужно было устанавливать дополнительные программы сторонних разработчиков. Также компания HTC в нескольких своих девайсах встраивала синхронизацию с Exchange. Android 2.0 предоставляет синхронизацию с Exchange по-умолчанию. Кроме того, пользователь сможет создать комбинированную папку для одновременной работы сразу с несколькими почтовыми серверами.
2009. RoadSync — push-синхронизация Exchange и Android
Компания DataViz разработала клиента для Exchange ActiveSync, работающий на платформе Android. Это первое приложение для Android, которое позволяет получать прямой доступ к корпоративным почтовым ящикам на базе Microsoft Exchange. Программа является платной — в зависимости от типа лицензии стоит $10 или $20. Сейчас программа доступна только в виде бета-версии, однако она уже полностью поддерживает синхронизацию Direct Push с серверами MS Exchange и позволяет владельцам смартфонов с предустановленной Android работать с корпоративной электронной почтой. Кроме того, в программе есть поддержка сервиса Auto-Discovery, появившегося в Exchange 2007.
2009. Moxier Mail — синхронизация Exhange и Android
Программа Moxier Mail обеспечивает прямую синхронизацию Push с использованием Microsoft Exchange 2003 и 2007. Технология Direct Push в Moxier получила лицензию Microsoft Exchange ActiveSync и дает пользователям удобный и безопасный доступ к Exchange Server для смартфонов на платформе Android. Кроме почты синхронизируются контакты, календарь, задачии глобальный список адресов. Программа имеет удобный пользовательский интерфейс, позволяет просматривать HTML-письма, поддерживает SSL. Стоимость программы на Android Market составляет $24,99.
2008. ContactsSync позволяет синхронизировать адресную книгу Exchange с Android
Разработчики популярного онлайн сервиса для управления проектами Wrike выпустили приложение ContactsSync для синхронизации адресной книги Exchange с контактами в смартфонах G1 на платформе Android. Пока поддерживается получение Exchange-контактов на T-Mobile G1, обратная синхронизация пока не поддерживается, то есть нельзя будет использовать контакты смартфона для обновления контактов на сервере Exchange. Однако, разработчики обещают добавить эту функциональность со временем. Относительно синхронизации календаря представители Wrike дают пояснения, что эта возможность зависит от Android API и пока не доступна. Электронная почта с Exchange может быть получена с использованием IMAP, так что синхронизация email не запланирована.
Синхронизация с MS Exchange
На базе механизма синхронизации Sync Engine в конфигурации реализована интеграция с различными сущностями MS Exchange по протоколу EWS (Exchange Web Services).
Синхронизация задач с MS Exchange
Алгоритм синхронизации задач происходит в три этапа:
- Получение изменений из MS Exchange, их применение;
- Получение изменений из Creatio, их применение;
- Создание новых задач из Creatio в MS Exchange.
Реализация интеграции
Как описано в статье, для того, чтобы реализовать интеграцию с использованием данного механизма, необходим класс, реализующий логику работы с внешним хранилищем (наследник RemoteProvider . Вся иерархия классов провайдера изображена на рисунке. Также необходим класс, реализующий интерфейс IRemoteItem , который представляет один экземпляр элемента синхронизации (в данном случае — задачу MS Exchange). Вся иерархия RemoteItem изображена на рисунке.
Класс ExchangeTaskSyncProvider является провайдером для работы с внешним хранилищем MS Exchange, в нем реализована логика по выбору данных и сохранению изменений в Creatio и MS Exchange. Класс ExchangeTask реализует интерфейс IRemoteItem . В нем реализована логика заполнения данных в соответствующих системах.
Синхронизируемые данные
Соответствие объектов Creatio и полей класса ExchangeTask отображено в таблице.
Объект Creatio | Поле объекта | Поле ExchangeTask |
---|---|---|
Activity | Title | Subject |
StartDate | StartDate | |
DueDate | CompleteDate или DueDate в зависимости от того, завершена задача или нет. | |
Priority | Importance | |
Status | Status | |
RemindToOwner | IsRemindSet | |
RemindToOwnerDate | ReminderDueBy | |
Notes | Body.Text |
Логика выбора данных для синхронизации
Для выбора изменений списка задач из отобранных для синхронизации папок MS Exchange используются следующие условия: выбрать задачи MS Exchange, которые были изменены после даты последней синхронизации задач, или задачу MS Exchange, которая не была отмечена, как ранее синхронизированная. Для задач MS Exchange, которые были изменены, находятся соответствующие активности в Creatio. Актуальные изменения применяются в соответствующей системе.
При выборе измененных активностей Creatio выбираются активности:
- имеющие запись в метаданных синхронизации как задача MS Exchange;
- автором которых является текущий пользователь;
- дата последнего изменения которых больше чем дата последней синхронизации.
При выборе новых активностей Creatio, устанавливается набор общих фильтров и фильтры, настраиваемые пользователем. Основными фильтрами являются:
- Тип активности не равен » email «.
- У активности не установлен признак Отображать в расписании .
Пользователь может указать группы активностей, которые будут экспортироваться из Creatio.
Заполнение полей Дата начала , Дата завершения (опиционально)
В объекте ExchangeTask есть несколько особенностей при работе с датами начала и завершения:
- В этих полях хранятся значения без времени. При изменении задачи в MS Exchange после синхронизации в Creatio применится дата из задачи MS Exchange, а время — из активности Creatio.
- Для даты завершения в ExchangeTask есть два поля — дата завершения (due date) и дата выполнения (complete date). В зависимости от статуса задачи, актуальной является одна из них — для не завершенных используется дата завершения, для завершенных дата выполнения. Дата выполнения устанавливается текущей датой, пока задача не будет завершена.
- Дата начала и дата завершения — поля, необязательные для заполнения в MS Exchange. Если какое-то из них не установлено, используется текущая дата. Из-за этого могут возникать конфликты, так как в Creatio и дата начала, и дата завершения обязательны для заполнения, и дата начала должна быть меньше даты завершения.
Синхронизация контактов с MS Exchange
Алгоритм синхронизации контактов происходит в три этапа:
- Получение изменений из MS Exchange, их применение;
- Получение изменений из Creatio, их применение;
- Создание новых контактов из Creatio в MS Exchange.
Реализация интеграции
Как описано в статье, для того, чтобы реализовать интеграцию с использованием данного механизма, необходим класс, реализующий логику работы с внешним хранилищем, — наследник RemoteProvider и класс, реализующий интерфейс IRemoteItem , который представляет один экземпляр элемента синхронизации (в данном случае — контакт MS Exchange).
Для синхронизации контактов также используются следующие классы:
- Класс ExchangeContactSyncProvider является провайдером для работы с внешним хранилищем MS Exchange, в нем реализована логика по выбору данных и сохранению изменений в Creatio и MS Exchange.
- Класс ExchangeContact реализует интерфейс IRemoteItem . В нем реализована логика заполнения данных в соответствующих системах.
- Класс ExchangeAddressDetailsSynchronizer содержит утилитные методы для преобразования данных об адресах контактов.
- Класс ExchangeEmailAddressDetailsSynchronizer содержит утилитные методы для преобразования данных об email-адресах контактов.
- Класс ExchangePhoneNumbersDetailsSynchronizer содержит утилитные методы для преобразования данных о телефонах контактов.
Логика заполнения деталей вынесена в отдельные классы, так как существуют значительные отличия в форматах хранения данных в Creatio и MS Exchange, и требуется дополнительное преобразование.
Синхронизируемые данные
Соответствие объектов Creatio и полей класса Contact MS Exchange отображено в таблице.
Объект Creatio | Поле объекта | Поле класса Contact MS Exchange |
---|---|---|
Contact | Name | DisplayName |
Surname | Surname | |
GivenName | GivenName | |
MiddleName | MiddleName | |
Account | CompanyName | |
JobTitle | JobTitle | |
Department | Department | |
BirthDate | Birthday | |
SalutationType | TitleTag | |
Gender | GenderTag | |
ContactCommunication | Number | Значение в коллекции PhoneNumbers |
CommunitactionType | Ключ для значения в коллекции PhoneNumbers | |
ContactAddresses | City | Поле City элемента коллекции PhysicalAddresses |
Country | Поле CountryOrRegion элемента коллекции PhysicalAddresses | |
Region | Поле State элемента коллекции PhysicalAddresses | |
Address | Поле Street элемента коллекции PhysicalAddresses | |
Zip | Поле PostalCode элемента коллекции PhysicalAddresses | |
AddressType | Ключ для значения в коллекции PhysicalAddresses |
Соответствие типов средств связи представлено в таблице.
Тип средства связи Creatio | Тип средства связи MS Exchange |
---|---|
EmailAddress1, EmailAddress2, EmailAddress3 | |
WorkPhone | BusinessPhone, BusinessPhone2 |
HomePhone | HomePhone |
MobilePhone | MobilePhone |
Соответствие типов адресов представлено в таблице.
Тип адреса Creatio | Тип адреса MS Exchange |
---|---|
HomeAddress | Home |
BusinessAddress | Business |
Логика выбора данных для синхронизации
Для выбора изменений в списке контактов из отобранных для синхронизации папок MS Exchange используется следующий набор фильтров: выбирается контакт MS Exchange, который был изменен после даты последней синхронизации контактов, или контакт MS Exchange, который не был отмечен, как ранее синхронизированный. Для контактов, которые были изменены, находится соответствующий контакт в Creatio. Самые актуальные изменения применяются в соответствующей системе.
При выборе измененных контактов Creatio выбираются контакты:
- автором которых является текущий пользователь;
- дата последнего изменения которых больше чем дата последней синхронизации;
- контакт не использовался в первом этапе синхронизации.
На правила выбора новых контактов Creatio, помимо стандартного фильтра по автору и фильтра отсутствия метаданных синхронизации, влияют пользовательские настройки. Доступно три варианта настройки:
- Синхронизировать контакты сотрудников. При выборе этой настройки к запросу будет добавлен фильтр по колонке [Тип контакта] , и синхронизированы будут те контакты, у которых указан тип » Сотрудник «.
- Синхронизировать контакты клиентов. При выборе этой настройки к запросу будет добавлен фильтр по колонке [Тип контакта] , и синхронизированы будут те контакты, у которых указан тип » Клиент «.
- Синхронизировать контакты из определенных групп. При выборе этой настройки к запросу будут добавлены фильтры выбранных групп контактов.
Дополнительные возможности
Возможность использовать расширенные ключи для контактов во внешнем хранилище
Ввиду особенностей работы MS Exchange возможна ситуация, когда при большом количестве контактов MS Exchange часть из них получит одинаковые идентификаторы, и, как следствие, синхронизация может некорректно определить соответствующий контакт в Creatio. Для обхода подобной ситуации реализована функциональность расширенных внешних ключей, которую можно включить при помощи настройки Использовать комбинированные идентификаторы для синхронизируемых контактов MS Exchange . Код настройки — UseComplexExchangeContactId . После ее включения может понадобиться повторная синхронизация.
Синхронизация встреч с MS Exchange
Синхронизация встреч Creatio происходит только для новых активностей или при изменении полей Title , Location , StartDate , DueDate , Priority , Notes . По этим полям формируется хэш, который хранится в дополнительных параметрах метаданных (в поле ExtraParameters ). Если встреча была изменена в Creatio, и хэш из ExtraParameters не совпадает с новым хэшем, то эта встреча должна быть синхронизирована.
Алгоритм синхронизации встреч происходит в три этапа:
- Получение изменений из MS Exchange, их применение;
- Получение изменений из Creatio, их применение;
- Создание новых встреч из Creatio в MS Exchange.
Реализация интеграции
Как описано в статье, для того чтобы реализовать интеграцию с использованием данного механизма, необходим класс, реализующий логику работы с внешним хранилищем, — наследник RemoteProvider , и класс, реализующий интерфейс IRemoteItem , который представляет один экземпляр элемента синхронизации (в даном случае — встречу MS Exchange).
Класс ExchangeAppointmentSyncProvider является провайдером для работы с внешним хранилищем Exchange. В нем реализована логика по выбору данных и сохранению изменений в Creatio и Exchange.
Класс ExchangeAppointment реализует интерфейс IRemoteItem, и в нем реализована логика заполнения данных в соответствующих системах.
Синхронизируемые данные
Соответствие объектов Creatio и полей класса ExchangeAppointment отображено в таблице.
Заполняется по алгоритму:
Если статус не указан и дата окончания больше, чем текущая, — статус в Creatio устанавливается как » Новая встреча «.
Если дата окончания меньше, чем текущая дата, — статус устанавливается как закрытая встреча со статусом » Информация получена «.
Логика выбора данных для синхронизации
Для выбора изменений в списке встреч из отобранных для синхронизации папок MS Exchange используется следующий набор фильтров: выбираются встречи MS Exchange, которые были изменены после даты последней синхронизации встреч, или встречи MS Exchange, которые не были отмечены, как ранее синхронизированные. Для встреч, которые были изменены, находятся соответствующие активности в Creatio. Самые актуальные изменения применяются в соответствующей системе.
При выборе измененных активностей Creatio выбираются активности:
- которые имеют запись в метаданных синхронизации как встречи MS Exchange по RemoteId (определяется уникальным идентификатором встречи в календаре ICalId );
- дата последнего изменения которых больше, чем дата последней синхронизации;
- одна встреча в Creatio соответствует нескольким встречам в MS Exchange для каждого участника.
При выборе новых активностей Creatio устанавливается набор общих фильтров и фильтры, настраиваемые пользователем. Основными фильтрами являются:
- Тип активности не равен » Email «.
- У активности установлен признак Отображать в расписании .
Пользователь может указать группы активностей, которые будут экспортироваться из Creatio.
Логика выбора участников встречи
При синхронизации активности из MS Exchange в Creatio на деталь Участники добавляются те контакты, у которых на детали Средства связи есть email из списка учасников встречи в MS Exchange.
При синхронизации активностей из Creatio в MS Exchange участники встречи для MS Exchange заполняются основными email-адресами контактов.
Синхронизация контактов удаленных доменов (Exchange GAL) с помощью PowerShell
Если у вашей организации (группы компаний) несколько лесов с несколькими организациями Exchange, то как правило возникает задача иметь контакты всех организаций в единой адресной книге Exchange. Предлагаю вашему вниманию достаточно простое решение с использованием PowerShell, позволяющее собирать учетные записи из удаленных лесов и размещать их в виде контактов в основном лесу.
Причем скрипт отслеживает появление новых учетных записей, блокирование старых, либо изменение тех или иных атрибутов пользователя.
Ранее уже публиковались различные решения для выполнения данной задачи, однако они либо были слишком громоздки и дОроги (например на базе ILM 2007), либо не имели требуемого функционала (ранее опубликованные скрипты на PowerShell). Слева приведена схема тестовой среды – два леса, два домена, собираем инфу о пользователях домена saturn.corp и размещаем в адресной книге домена moon.corp. Хочу сразу заметить, что для полностью автоматической синхронизации необходимо хотя бы одностороннее доверительное отношение между доменами, т.е. учетная запись домена moon.corp, под которой будет выполняться скрипт, должна иметь права на просмотр учетных записей в домене saturn.corp
Общая схема синхронизации:
- Получение с помощью скрипта информации об учетных записях удаленного домена и, в зависимости от их текущего состояния, либо создание новых контактов, либо обновление или удаление существующих в указанном OU;
- Применение политик Exchange к созданным контактам;
- Обновление адресных книг и GAL Exchange
Итак, в первую очередь мы разместим на почтовом сервере в домене moon.corp приведенный ниже скрипт:
Поместим данный скрипт в планировщик и назначим его выполнение, скажем, каждые 1 раз в день в 22 часа. Еще раз обращаю внимание, что учетная запись, под которой будт запускаться задание на выполнение скрипта, должна иметь права на просмотр каталога AD в удаленном домене, а также на запись в OU moon.corp/Contacts/Saturn в целевом.
[tip]Если скрипт расположен в D:ScriptsSyncContactsImportUserAsContactintoAD.ps1, то строка в планировщике (с учетом использования PowerShell 1.0) должна выглядеть так: C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -command “D:ScriptsSyncContactsImportUserAsContactintoAD.ps1”
[/tip]
Далее нам необходимо создать и применить на сервере Exchange 2007 политику к вновь созданным контактам, исходя из того, что у всех пользователей домена saturn.corp атрибут “Организация” содержит запись “Saturn Corp.“:
Последнее, что нам нужно сделать, это периодически (после каждой синхронизации) применять созданную нами политику и обновлять адресные книги, GAL и OAB:
Как вы понимаете, данную схему можно использовать для сбора контактов с любого количества удаленных доменов. Все они будут отображаться в адресной книге Outlook, причем со всеми заполненными атрибутами удаленного пользователя.
P.S. Приведенный в статье способ использовался в нашей организации ранее. В настоящее время синхронизация GAL Exchange 2007 осуществляется с помощью бесплатного компонента MIIS 2003 – IIFP. Если вам интересна настройка такой схемы, прошу оставлять свои комментарии – напишу подробную статью.
Поделиться ссылкой:
Понравилось это:
16 Comments
Все хорошо… только вот есть пользователи скрытые из GAL, а они таким способом все равно будут создаваться…
Вообщем пришел к следующему решению, если кому интересно.
Два скрипта, оба запускаются из Exchange Managment shell
1) на сервере- источнике:
$Mails = get-mailbox | Where-Object -FilterScript <$_.HiddenFromAddressListsEnabled -match “false”>| Select-Object -property “alias”
$filename = “\Shareserversharemailuser_dom1.txt”
del $filename
foreach ($m in $mails)
2) Второй скрипт на сервере- получателе:
$file= gc -Path \Shareserversharemailuser_dom1.txt
foreach ($f in $file) <
if ($f -ne “”) <
$s=$f.split(“:”)
$s[1] = $s[1].trimstart()
if ($s[0] -match “displayname”)
if ($s[0] -match “WindowsEmailAddress”)
#Если есть такой контакт
if ((get-mailcontact -identity $Email) -notlike $NULL) <
set-contact -identity $al[0] -company $compa -title $title -pager $pager -phone $phone -mobilephone $mobile -WindowsEmailAddress $EMail -DomainController dc.dom2.com
>
#Если такого контакта еще нeту
if ((get-mailcontact -identity $Email) -like $NULL) <
new-mailcontact -name $disp -DisplayName $disp -alias $al[0] -ExternalEmailAddress $Email -PrimarySmtpAddress $Email -OrganizationalUnit “dom2.com/контакты/dom1” -DomainController dc.dom1.com
set-contact -identity $al[0] -company $compa -title $title -pager $pager -phone $phone -mobilephone $mobile -WindowsEmailAddress $EMail -DomainController dc.dom1.com
>
Собственно, запускать на соответствующих Exchange серверах. если ставить в Шедуллер, то powershell надо вызывать примерно так:
C:WINDOWSsystem32windowspowershellv1.0powershell.exe -PSConsoleFile “C:Program FilesMicrosoftExchange Serverbinexshell.psc1” -command “C:ScriptScriptName.ps1”
Мобыть кому поможет.
Очень было бы интересно узнать про автоматизацию этого решения с помощью MIIS 2003
Про MIIS 2003 очень интересно было бы почитать
PowerShell это вещь )
Благодарю за интересную и полезную статью.
Попытался применить данный скрипт – ничего не вышло.
Выпадает ошибка:
The term ‘Connect-QADService’ is not recognized as the name of a cmdlet, functi
on, script file, or operable program. Check the spelling of the name, or if a p
ath was included, verify that the path is correct and try again.
At line:1 char:19
+ Connect-QADService <<<< -Service /?
+ CategoryInfo : ObjectNotFound: (Connect-QADService:String) [],
CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Подскажите, где брать данный командлет?
Версия PowerShell установлена последняя.
С уважением, Кобзарев Д. В.
Connect-QADService это командлет powershell от сторонних разработчиков, в данном случае Quest Software http://www.quest.com/powershell/activeroles-server.aspx
Также было бы очень интересно почитать про MIIS 2003.
С уважением, Кобзарев Д. В.
Добрый день!
А если мне не нужно удалять контакты вообще, мне необходимо просто взять учетки из домена Win 2000 c MS Exchage 2000 и поместить их контакты в новый лес, где стоит Windows Server 2008 R2 и MS Exchange 2010!
Add-Type -Language CSharpVersion3 -TypeDefinition @”
public class UserAccountControl
<
public UserAccountControl(string str)
<
foreach (string s in str.Split(‘,’))
<
switch (s.Trim().ToUpper())
<
case “NORMALACCOUNT”: <
NormalAccount = true;
break;
>
case “DONOTEXPIREPASSWORD”: <
DoNotExpirePassword = true;
break;
>
case “PASSWORDNOTREQUIRED”: <
PasswordNotRequired = true;
break;
>
case “ACCOUNTDISABLED”: <
AccountDisabled = true;
break;
>
>
>
>
public bool NormalAccount
public bool DoNotExpirePassword
public bool PasswordNotRequired
public bool AccountDisabled
function RemoveNonExistentContacts($csvObjects)
<
$contacts = Get-MailContact
foreach($contact in $contacts)
<
$IsNotExistentContact = $true
foreach($csvObject in $csvObjects)
<
if ($contact.Alias -eq $csvObject.SamAccountName)
<
$IsNotExistentContact = $false
break
>
>
if ($IsNotExistentContact -eq $true)
<
Remove-MailContact $contact.Alias -confirm:$false
>
>
>
function UpdateContact($UserObject)
<
$userAccountControl = New-Object -TypeName UserAccountControl -ArgumentList $UserObject.UserAccountControl
if ((Get-MailContact $UserObject.SamAccountName) -ne $Null)
<
if ($userAccountControl.AccountDisabled -eq “true”)
<
Remove-MailContact $UserObject.SamAccountName -confirm:$false
>
else
<
if ($UserObject.RecipientType -eq “UserMailbox”)
<
Set-MailContact $UserObject.SamAccountName -ExternalEmailAddress $UserObject.WindowsEmailAddress
-Name $UserObject.Name
Set-Contact $UserObject.SamAccountName -DisplayName $UserObject.DisplayName
-FirstName $UserObject.FirstName -LastName $UserObject.LastName
-City $UserObject.City -Company $UserObject.Company -Department $UserObject.Department
-Office $UserObject.Office -HomePhone $UserObject.HomePhone
-MobilePhone $UserObject.MobilePhone -Phone $UserObject.Phone -Fax $UserObject.Fax
-PostalCode $UserObject.PostalCode -Title $UserObject.Title
>
>
>
elseif (($userAccountControl.AccountDisabled -ne $true) -and ($UserObject.RecipientType -eq “UserMailbox”))
<
New-MailContact -Name $UserObject.Name -Alias $UserObject.SamAccountName
-ExternalEmailAddress $UserObject.WindowsEmailAddress -OrganizationalUnit agidel.ru/EmailContacts
Set-Contact $UserObject.SamAccountName -DisplayName $UserObject.DisplayName
-FirstName $UserObject.FirstName -LastName $UserObject.LastName
-City $UserObject.City -Company $UserObject.Company -Department $UserObject.Department
-Office $UserObject.Office -HomePhone $UserObject.HomePhone
-MobilePhone $UserObject.MobilePhone -Phone $UserObject.Phone -Fax $UserObject.Fax
-PostalCode $UserObject.PostalCode -Title $UserObject.Title
>
# #region Раздел выполнения скрипта
$csv = Import-Csv -Delimiter “;” -Path C:users.csv
#Подключаемся к серверу
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://domain.com/PowerShell/ -Authentication Kerberos
Import-PSSession $Session
#Удаляем контакты, которых не существует в импортируемом файле
RemoveNonExistentContacts($csv)
#Обновляем данные
foreach($object in $csv)
<
UpdateContact -UserObject $object
>
#Закрываем соединение с сервером
Remove-PSSession $Session
Add-Type -Language CSharpVersion3 -TypeDefinition @”
public class UserAccountControl
<
public UserAccountControl(string str)
<
foreach (string s in str.Split(‘,’))
<
switch (s.Trim().ToUpper())
<
case “NORMALACCOUNT”: <
NormalAccount = true;
break;
>
case “DONOTEXPIREPASSWORD”: <
DoNotExpirePassword = true;
break;
>
case “PASSWORDNOTREQUIRED”: <
PasswordNotRequired = true;
break;
>
case “ACCOUNTDISABLED”: <
AccountDisabled = true;
break;
>
>
>
>
public bool NormalAccount
public bool DoNotExpirePassword
public bool PasswordNotRequired
public bool AccountDisabled
function RemoveNonExistentContacts($csvObjects)
<
$contacts = Get-MailContact
foreach($contact in $contacts)
<
$IsNotExistentContact = $true
foreach($csvObject in $csvObjects)
<
if ($contact.Alias -eq $csvObject.SamAccountName)
<
$IsNotExistentContact = $false
break
>
>
if ($IsNotExistentContact -eq $true)
<
Remove-MailContact $contact.Alias -confirm:$false
>
>
>
function UpdateContact($UserObject)
<
$userAccountControl = New-Object -TypeName UserAccountControl -ArgumentList $UserObject.UserAccountControl
if ((Get-MailContact $UserObject.SamAccountName) -ne $Null)
<
if ($userAccountControl.AccountDisabled -eq “true”)
<
Remove-MailContact $UserObject.SamAccountName -confirm:$false
>
else
<
if ($UserObject.RecipientType -eq “UserMailbox”)
<
Set-MailContact $UserObject.SamAccountName -ExternalEmailAddress $UserObject.WindowsEmailAddress
-Name $UserObject.Name
Set-Contact $UserObject.SamAccountName -DisplayName $UserObject.DisplayName
-FirstName $UserObject.FirstName -LastName $UserObject.LastName
-City $UserObject.City -Company $UserObject.Company -Department $UserObject.Department
-Office $UserObject.Office -HomePhone $UserObject.HomePhone
-MobilePhone $UserObject.MobilePhone -Phone $UserObject.Phone -Fax $UserObject.Fax
-PostalCode $UserObject.PostalCode -Title $UserObject.Title
>
>
>
elseif (($userAccountControl.AccountDisabled -ne $true) -and ($UserObject.RecipientType -eq “UserMailbox”))
<
New-MailContact -Name $UserObject.Name -Alias $UserObject.SamAccountName
-ExternalEmailAddress $UserObject.WindowsEmailAddress -OrganizationalUnit agidel.ru/EmailContacts
Set-Contact $UserObject.SamAccountName -DisplayName $UserObject.DisplayName
-FirstName $UserObject.FirstName -LastName $UserObject.LastName
-City $UserObject.City -Company $UserObject.Company -Department $UserObject.Department
-Office $UserObject.Office -HomePhone $UserObject.HomePhone
-MobilePhone $UserObject.MobilePhone -Phone $UserObject.Phone -Fax $UserObject.Fax
-PostalCode $UserObject.PostalCode -Title $UserObject.Title
>
# #region Раздел выполнения скрипта
$csv = Import-Csv -Delimiter “;” -Path C:users.csv
#Подключаемся к серверу
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://domain.com/PowerShell/ -Authentication Kerberos
Import-PSSession $Session
#Удаляем контакты, которых не существует в импортируемом файле
RemoveNonExistentContacts($csv)
#Обновляем данные
foreach($object in $csv)
<
UpdateContact -UserObject $object
>
5 лучших альтернатив Microsoft Outlook для Android
Microsoft Outlook — надежное приложение для работы с электронной почтой и календарем для Android и iPhone. Однако он наиболее идеален для тех, кто инвестирует в экосистему приложений и услуг Microsoft, а не для тех, кто использует учетные записи электронной почты Gmail и Yahoo. Если вы хотите выйти из приложения Outlook для Android, вы должны с умом взвесить свои варианты.
Microsoft Outlook не ограничивается только электронной почтой. Компания также имеет интегрированные функции контактов и календаря. Хотя это может быть полезным дополнением, вы можете сохранить контакты и календарь отдельно от своей электронной почты.
Хотя приложения Microsoft Outlook хорошо работают на iOS и Android, иногда вещи либо сложные, либо просто отсутствуют. В нем отсутствуют такие важные вещи, как аутентификация по отпечатку пальца и сортировка писем по разным категориям.
1. Gmail
Приложение Gmail поставляется с предустановленным Android-телефоном и часто оказывается естественным вариантом.
Приложение наполнено всеми этими функциями, ориентированными на Gmail, такими как расширенные фильтры, автоматические предложения, защита от спама и многое другое. Наша самая большая проблема с Gmail — это неизменный интерфейс. Однако на iPhone вы увидите гамбургер-меню для навигации по ярлыкам и другим параметрам.
Среди всех функций Smart Compose предлагает автоматические предложения для завершения предложений. Outlook предлагает аналогичную функцию, но только для Outlook в Интернете.
Переключатель учетных записей с помощью значка профиля — это функция, которая ценится каждым пользователем. Проведите пальцем вверх или вниз по значку профиля в правом верхнем углу, и вы сможете переключаться между учетными записями электронной почты в приложении.
Другие функции включают интеграцию с задачами Google для отправки электронной почты непосредственно в приложение для управления задачами, ярлыки для других приложений Google, поддержку темных тем и многое другое.
2. Spark Mail
Spark Email — одно из самых красивых почтовых приложений. Приложение использует красивую бело-синюю тему с соответствующими опциями вверху. Опять же, он полагается на гамбургер-меню, а не на нижнюю строку меню, чтобы добиться своей цели.
Те, кому не хватает функции Focus Inbox в Outlook, будут чувствовать себя как дома с Smart Inbox в Spark Mail. Он очищает папку «Входящие» и демонстрирует вам только соответствующие электронные письма. Smart Inbox аккуратно классифицирует электронные письма по соответствующим разделам, таким как Личные, Уведомления, Информационные бюллетени, Пины и Просмотренные. Этого очень не хватает в почте Outlook.
Шаблоны писем — интересное дополнение. Он позволяет вам создавать часто используемые шаблоны сообщений, чтобы сэкономить время, когда вы регулярно отправляете людям похожие электронные сообщения.
Другие функции включают подпись электронной почты, темы, возможность просмотра электронной почты, защиту отпечатков пальцев и многое другое. Электронную почту Spark можно загрузить и использовать совершенно бесплатно.
3. Электронная почта Yahoo
Несмотря на то, что его актуальность не так важна, как много лет назад, электронная почта Yahoo остается лучшим выбором для тысяч пользователей. Новое почтовое приложение выглядит современно и с самого начала предлагает варианты тем.
Приложение предлагает все необходимые опции внизу для облегчения доступа. Yahoo отлично работает со сторонними приложениями, такими как LinkedIn, Dropbox и Google Drive.
Приложение Yahoo Email заполнено гигантскими рекламными баннерами на главном экране, и многим это не понравится. И нет возможности удалить их через вариант покупки. В отличие от Outlook, Yahoo не пытается делать слишком много вещей одновременно. Он ориентирован на электронную почту и в этом преуспевает.
Другие функции включают в себя несколько вариантов тем, подпись электронной почты, блокировку изображений, защиту отпечатков пальцев и многое другое.
4. myMail
myMail поддерживает длинный список поставщиков услуг электронной почты, таких как Gmail, Yahoo, Outlook, Hotmail, Exchange, AOL, my.com и другие.
После того, как вы добавите учетную запись электронной почты, приложению потребуется время для синхронизации электронной почты. После этого пользоваться нижней навигацией и чистым пользовательским интерфейсом приятно. Иконки и варианты темы на высоте.
Рекламы минимальны и продуманно скрыты под меню и не видны при использовании приложения. Приложение поставляется с различными вариантами тем, почтовой папкой, адресной книгой и т. Д. my.Mail также поддерживает аутентификацию по отпечатку пальца, чего нет в приложении Outlook.
myMail можно загрузить и использовать совершенно бесплатно.
5. Осветление электронной почты
Как следует из названия, программа Email by Editon претендует на звание самого быстрого почтового приложения. Он предлагает аналогичную надстройку Focused Inbox, что и Outlook, и отдает приоритет самому почтовому ящику.
Приложение электронной почты превосходит Outlook благодаря встроенному помощнику. Нажмите на гамбургер-меню вверху, и вы найдете электронную почту, обрабатывающую все ваши электронные письма в соответствующих категориях, таких как подписки, путешествия, пакеты, счета, развлечения и уведомления о возврате. Найти письмо, которое вы ищете, легко, и мы хотим, чтобы каждое почтовое приложение прямо копировало эту функцию.
Он также поставляется с несколькими темами, настраиваемой подписью, блокировкой отпечатков пальцев, шаблонами, цветовым кодированием и многим другим. Email lightning можно использовать бесплатно, что удивительно, учитывая количество предлагаемых функций. Мы не будем удивлены включением платного плана в будущем.
Откажитесь от Outlook на Android
Просмотрите список выше и выберите идеальную альтернативу Outlook для Android. Сделаем ставку на Gmail или Spark. Но приложение электронной почты также является отличным вариантом со встроенным помощником. Какой из них вы выберете? Отключите звук в разделе комментариев ниже.
Следующий:
Не путаетесь между Outlook и Gmail на Android? Прочтите сравнительный пост ниже, чтобы найти все различия между ними.