Обратный прокси-балансировщик для Exchange 2013

Вариант реверс-прокси и балансировщика для Exchange 2013. Бесплатный.

Используем свободный софт: linux и прокси сервер squid.

Я брал дистрибутив CentOS 7 последний и squid поновее c оффициального сайта squid.

Моя версия squid-3.5.16-1.el7.centos.x86_64. С ней все работает.

Также нам понадобится ssl сертификат домена outlook.firma.ru. Если у вас нет купленного сертификата, сгенерите самоподписанный. Как это делать — инструкций масса. У меня есть сертификат *.firma.ru в виде 2 файлов cer и key. Я сделал

далее нужно внимательно проверить в редакторе файл, сертификаты должны разделяться так:

Приступаем к настройке squid. Файл конфигурации один, /etc/squid/squid.conf

Тут 10.10.10.10 и 10.11.11.11 адреса двух эксченджей.

sourcehash — метод балансировки, запоминает адрес клиента и он ходит на один и тот же эксчендж. С round-robin у меня совсем не заработало.

Можно запускать squid

Логи обращений тут /var/log/squid/access.log

Логи ошибок /var/log/squid/cache.log

Также для информации real time можно воспользоваться утилитами:

Встроенной squidclient

или sqtop. Я тут брал rpm

Это единственное, что у нас заработало в полном объеме на бесплатном софте. Nginx и haproxy не удалось заставить работать несмотря на большой объем инструкций в интернетике.

и да, список использованной литературы:

http://wiki.squid-cache.org/FrontPage

 

 

Вышел новый Microsoft Exchange Server User Monitor

Наконец-то вышла обновленная версия Microsoft Exchange Server User Monitor. Ждать пришлось долго. Заявлена поддержка Exchange 2013 и Exchange 2016. На Exchange 2010 не работает. И это печально, т.к. старая последняя версия ExMon на Exchange 2010 с последними апдейтами работает, но не долго. Через несколько минут зависает.

Скачать ExMon можно на текнете.

Как подключить ранее отключенный архивный ящик

Можно ли заново подключить ранее отключенный архивный ящик? Легко. Для начала, нам надо узнать GUID отключенного архива:

В атрибуте DisabledArchiveDatabase отображается имя базы данных, в которой находится отключенный архивный ящик. В атрибуте DisabledArchiveGuid находится ID отключенного архива. Теперь возьмем эти значения и подставим в следующую команду:

Неправильно созданные почтовые ящики

Если для заведения новых учетных записей и создания почтовых ящиков используется автоматизированная система Oracle Identity Manager, то при переходе с Exchange 2003 на Exchange 2010 могут возникнуть проблемы с тем, что новые созданные почтовые ящики на Exchange 2010, создаваемые средствами OIM будут работать не корректно.

Решение проблемы — на сервера с OIM установить Exchange Management Tools соответствующей версии и настроить коннектор.

Но если до этого момента OIM уже создал какое-то количество таких почтовых ящиков, вычислить их можно по атрибуту, к примеру msExchALObjectVersion. Ну а после заново сделать New-MoveRequest:

Автоматизация через Scripting Agent

scripting agent

Многие администраторы Exchange не знают или забывают о таком компоненте, как Cmdlet Extension Agents. Данный компонент входит в Exchange начиная с 2010 версии. Я не буду углубляться в подробное описание, тем более что общую информацию можно посмотреть в текнете, а разжевал ее в своем блоге Алексей Богомолов. Интересует нас Scripting Agent.

Самые популярные задачи, которые необходимо автоматизировать, это установление квот на создаваемые почтовые ящики и отключение ActiveSync. О том, как отключить ActiveSync всем пользователям я писал отдельную заметку.

Итак, в первую очередь в директории Program Files\Microsoft\Exchange Server\V15\Bin\CmdletExtensionAgents вам необходимо создать XML файл с именем ScriptingAgentConfig.xml, вставить в него следующий код:

После чего включить Scripting Agent командой:

Продолжить чтение

Считаем количество почтовых ящиков Exchange

Рано или поздно возникает задача посчитать количество почтовых ящиков Exchange в организации, условия могут быть разные, поэтому я постараюсь разобрать наиболее популярные примеры и немного частных случаев.

Итак, самый простой подсчет, это общее количество почтовых ящиков:

Параметр -ResultSize необходим, если количество ящиков в вашей организации может превышать 1000.
На всякий случай напомню, что если вы осуществляете поиск в организации, где присутствуют несколько доменов, то сначала необходимо выполнить команду:

Иначе вы увидите результат только из текущего домена. Это является довольно распространенным упущением.

Итак, считаем считаем количество почтовых ящиков по всем базам:

Продолжить чтение

Очередь Exchange: сказ о том, как случайно не создать

очередь Exchange

В один из вечеров раздался звонок пользователя, который заявил, что своему коллеге из партнерской организации не удается отправить сообщение уже который час. Посмотрев на транспортные серверы я, мягко сказать, с немалой долей удивления обнаружил очередь Exchange в пол тысячи сообщений. Хост удаленной организации работал и отвечал на 25 порт, поэтому проблему принято было искать у себя.
Продолжить чтение

MapiExceptionMailboxDisabled: Unable to open message store.

В процессе миграции почтовых ящиков с 2003 на 2010 Exchange может возникнуть проблема, когда пользователю после миграции не удается зайти в свой ящик. На этот ящик так же не удается отправить сообщение, в ответ приходит отбивка:

Возникла проблема в работе почтового ящика получателя. Попытайтесь повторно отправить это сообщение. Если проблема будет возникать снова, обратитесь в службу технической поддержки.

Если вы попробуете переместить пользователя из одной базы в другую, то получите следующую ошибку:

MapiExceptionMailboxDisabled: Unable to open message store. (hr=0x80004005, ec=2412)
Diagnostic context:
Lid: 55847 EMSMDBPOOL.EcPoolSessionDoRpc called [length=144]
Lid: 43559 EMSMDBPOOL.EcPoolSessionDoRpc returned [ec=0x0][length=264][latency=0] и т.д.

Для того, чтобы устранить проблему вам надо определить, в какой базе находится пользовательский ящик и выполнить для этой базы:

Clean-MailboxDatabase -Identity <имя базы>

Преобразование почтового ящика в Shared Mailbox

Случается так, что ящик, предназначенный для общего использования был создан не как Shared Mailbox, а как User Mailbox. Сразу возникает мысль о том, можно ли его конвертировать. Беглый поиск нам выдает, что это можно сделать через EAC, но только в Office 365. Не расстраиваемся, т.к. в on-premise Exchange 2013 это можно сделать через PowerShell:

После выполнения команды можем убедиться в том, что ящик конвертирован:

Как вернуть базы Exchange на место

В случае какого-либо сбоя копии баз данных активируется на других доступных серверах в соответствии с установленным значением ActivationPreference.

Если у вас в инсталляции небольшое количество баз, то вы можете, да и обычно все пользуются командой:

Но если баз много, то лучше воспользоваться специальным скриптом RedistributeActiveDatabasesдля этих целей, находящимся в инсталляциях Exchange начиная с версии 2010 SP1 в каталоге Scripts:

Теперь можно запустить скрипт для балансировки всех имеющихся баз в соответствии со значением ActivationPreference: