Авг 24th, 2010 by Stanislav Buldakov | No Comments »
Уже достаточно давно столкнулся со следующей проблемой.
Был установлен Microsoft Office Communicator 2007, который складывал в Outlook в папку Conversation History логи разговоров. После обновления до версии 2007 R2 логи резко увеличились в размере (до обновления были 5-7Кб на сообщение, после 50-70Кб на сообщение). Проблема замечена здесь и здесь.
Заметил, что старые логи хранятся в формате ReachText, новые в HTML. Написал с помощью Васи Гусева небольшой скрипт, который позволяет изменять тип сообщений:
$Outlook = New-Object -ComObject outlook.application
$ns = $Outlook.GetNamespace("MAPI")
$MyFolder = $ns.Folders.Item("Mailbox - DisplayName")
$Conv = $MyFolder.Folders.Item("Conversation History")
$Conv.Items | ForEach-Object { If ($_.BodyFormat -eq 2) {$_.BodyFormat = 3; $_.Save()}}
Здесь аттрибут BodyFormat = 2 для сообщений с форматом HTML, BodyFormat = 3 для ReachText. К сожалению, скрипт проблему с размером не мешает. Думаем дальше.
Posted in Applications, Exchange, PowerShell, Из жизни | No Comments »
Июн 25th, 2010 by Stanislav Buldakov | No Comments »
При выходе из клиента OWA на странице выхода доступна только одна кнопка «Закрыть окно/Close Window». При попытке заново запустить OWA будет необходимо заново в адресной строке указывать место расположения OWA, что очень неудобно. Ситуацию можно упростить добавив кнопку входа на страницу выхода, которая будет перемещать нас на страницу входа, где можно будет заново ввести логин и пароль.
Чтобы сделать вышенаписанное необходимо немного отредактировать файл logoff.aspx который находится здесь - %ProgramFiles%\Microsoft\Exchange Server\ClientAccess\Owa\auth. Открываем его и ищем строку LogoffClose. Перед открывающей скобкой html-тэга input, который содержит LogoffClose вставляем следующий код:
<input id="btnCls" type="submit" title="<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogOn) %>" value="<%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.LogOn) %>" onclick="window.navigate('https://mail.contoso.com/owa')" onmouseover="this.className='btnOnMseOvr'" onmouseout="this.className='btn'" onmousedown="this.className='btnOnMseDwn'">
Результат выглядит примерно следующим образом:

При нажатии кнопки вход браузер нас перекидывает на страницу ввода логина/пароля.
Следует помнить, что перед вставкой кода желательно старый logoff.aspx забэкапить. Кроме этого, при установке сервис паков/обновлений на Exchange этот файл может быть перезаписан и его придётся править заново.
Скрипт взял отсюда.
Posted in Exchange, Из жизни | No Comments »
Июн 23rd, 2010 by Stanislav Buldakov | No Comments »
Суть проблемы следующая. Имеются общие папки в виде листов задач, которые должны отсылать сообщения ответственным сотрудникам в случае создания новой задачи. В Exchange 2003 для этого с помощью Folder Assistant’а создавались правила, которые и занимались отсылками сообщений. При переносе на Exchange 2007 часть этих правил перестала работать. При попытке их применить правила отключались и в лог уходила ошибка:
Provider: MSExchangeIS Public Store
EventID: 1041
Channel: Application
Computer:
EventData: The rule «1-D3F1FE7FAD» with the sequence number 100 was disabled due to the error -2147221220 that was encountered while applying the rule.
Subject of the message that caused this error is «xxx»
Problem was found in the function «EcDoPublicFolderRules».
The public folder is «xxx» on the database «xxx»
Некоторое время, потраченное на поиск вывело сюда. Смысл происходящего – в Exchange 2007 изменился механизм отработки правил в общих папках. В Exchange 2003 папке, в которой включалось правило, по умолчанию выдавался почтовый адрес. В Exchange 2007 этот адрес пришлось выдавать вручную, делая эту папку mail-enabled. После того как эта операция была проделана с проблемной папкой – правила стали нормально отрабатывать.
Posted in Exchange, Из жизни | No Comments »
Июн 23rd, 2010 by Stanislav Buldakov | No Comments »
Как-то без особого шума вышел третий сервис пак для Exchange 2007. Скачать можно отсюда. Описание здесь. Из нового появилось следующее:
- Поддержка установки на Windows 2008 R2 и Windows 7
- Password Reset Tool для IIS
- Обновление компонента Exchange Search до версии 3.1
- Изменения в схеме AD с новыми аттрибутами для роли UM
- Поддержка подписей для языков, где буквы пишутся справа налево (типа арабского и иврита)
Перед установкой не забываем отключать Forefront, если установлен. Процесс установки на кластерные системы я описывал ранее.
Posted in Exchange | No Comments »
Апр 8th, 2010 by Stanislav Buldakov | No Comments »
Вчера в блоге команды Exchange появилось объявление о времени выпуска бэта версии и окончательной версии первого сервис-пака для Exchange 2010. Так же был указан новый функционал, доступный после установки SP1.
Из интересного про архив:
- Можно архив размещать в базе отличной от базы почтового ящика. Фактически архив теперь можно держать на более дешёвых хранилищах.
- Можно импортировать данные из локальных архивов (файлов pst) в архив в Exchange 2010.
- Можно делегировать доступ в архив.
- Можно создавать RPT из консоли EMC (в RTM версии можно только из EMS).
- Можно будет работать с архивом клиентам Outlook 2007.
- Кроме этого немного изменился механизм и функционал поиска по пользовательским данным (включая архив). Появится предпросмотр, дедупликация результатов поиска и возможность добавлять аннотации к найденным объектам.
Из нового OWA:
- Предпросмотр сообщений будет работать быстрее.
- Операции удаления, пометки как прочитанного и назначения категории будут проходить асинхронно, что позволит проходить этим операциям мгновенно, с точки зрения пользователя.
- Пользователь сможет открыть доступ к своему календарю анонимному пользователю.
- Можно будет читать и создавать сообщения защищённые IRM. Кроме этого можно будет просматривать приложенные файлы защищённые IRM из веб-интерфейса.
- Можно переключать темы OWA.
- Появилась возможность размещать область чтения снизу (а не только справа, как было в RTM).
Изменения в ActiveSync:
- Поддержка IRM (можно читать и создавать сообщения защищённые IRM).
- Поддержка отправки от имени другого пользователя (send-as).
- Возможность отсылки уведомления пользователю, если его устройство заблокировано или помещено в карантин администратором.
- Кроме этого, для облегчения процесса настройки устройства для доступа по POP3/IMAP4/SMTP информация о серверах, которые поддерживают таких клиентов добавлена в OWA.
Изменения в консолях управления (EMC и ECP):
- Возможность создания и изменения тэгов хранения и политик хранения в EMC.
- Возможность конфигурирования транспортных правил, журналирования и MailTips в ECP.
- Доступны настройки хранения и настройки архивов в ECP.
- Настройка политик доступа мобильных устройств в ECP.
- Доступно управление ролями (RBAC) в ECP.
- Настройка ip-адреса DAG и сервера ресурса-свидетеля в EMC.
- Управление настройками общих папок с наследованием (включая права доступа) в EMC.
Ждём.
Posted in Exchange | No Comments »
Апр 8th, 2010 by Stanislav Buldakov | 2 Comments »
В финальной версии Exchange 2010 появилась новая функция создания архива почтового ящика. Доступна она в контекстном меню учётной записи почтового ящика оснастки Exchange Management Console в разделе Recipient Configuration.

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


Кроме этого, при использовании Outlook 2010 и Outlook Web Access в дереве папок пользователя появляется архивная папка. Пользователь может вручную переносить свои сообщения в архив (к сожалению, архивная папка не может быть выбрана целевой при стандартном архивировании, которое предлагает Outlook).

Впрочем, ручное архивирование дело крайне утомительное и, в связи с этим, возникает вопрос – каким образом мы можем настроить автоматическое архивирование сообщений в архив почтового ящика пользователя? Ответ на этот вопрос есть. Continue Reading »
Posted in Exchange | 2 Comments »
Мар 26th, 2010 by Stanislav Buldakov | 2 Comments »
19 марта стал доступен для закачки очередной накопительный пакет обновлений для Exchange 2007sp2. По ссылкам можно посмотреть изменения, которые делает пакет и ошибки, которые он исправляет. При установке, однако, есть одна тонкость. Если на сервере установен ForeFront, то перед установкой его надо выключать, иначе сервисы отвечающие за работу транспорта и хранилищ автоматически после установки обновления не запустятся. Почему-то эта информация имеется только в блоге команды Exchange и полностью отсутствует в статье к обновлению. Уже выразил своё неудовольствие этим фактом у них в блоге.
Posted in Exchange | 2 Comments »
Мар 15th, 2010 by Stanislav Buldakov | No Comments »
С проблемой этой столкнулся при переносе почтовых ящиков из одного домена в другой. В исходном домене была организация Exchange 2003, в целевом – Exchange 2007. Столкнулся около года назад – нашёл только одно решение, после переноса прилинкованный ящик отключить (disable) и потом через отключенные ящики подключить его назад к нужной учётке. Буквально сегодня наткнулся на другое, более простое решение проблемы. Оказывается, достаточно через ADSI Edit в свойствах учётной записи исправить аттрибут msExchRecipientTypeDetails с 2 на 1.
Posted in Exchange | No Comments »
Мар 15th, 2010 by Stanislav Buldakov | No Comments »
Возникла задача предоставить пользователю доступ в ящик, но чтобы при этом он ничего не смог из него удалить. Стандартно, EMC предоставляет возможность дать полный доступ в ящик и права на отправку от имени. Понятно, что ни первый ни второй вариант в данном случае не подходят. Пришлось достаточно долго искать решение этой задачи. Предоставить доступ на чтение можно через Outlook или через утилиту PFDAVAdmin. Скорее всего существуют и другие пути решения, но я их не искал.
Continue Reading »
Posted in Applications, Exchange | No Comments »
Фев 9th, 2010 by Stanislav Buldakov | No Comments »
Случайно наткнулся в блоге Паши Нагаева на пост о борьбе с зомби-пользователями в правах доступа к общим папкам. В качестве решения в комментариях было предложено решение от Васи Гусева, правда, применительно к одной папке (вложенные не очищались).
Стандартная картинка с правами доступа к общей папке может выглядеть следующим образом:

На картинке прекрасно видно, что происходит с записями в ACL в случае удаления пользователя из AD. Именно поэтому советуют раздавать права на уровне групп, а не отдельных пользователей. Впрочем, в ситуации показанной выше проблема с присутствием так называемого зомби-пользователя существует, и было бы неплохо её решить. А ещё лучше было бы у всех общих папок скопом всех зомби-пользователей удалить. Скрипт в итоге получился следующий:
Get-PublicFolder -Identity "\" -Recurse | Get-PublicFolderClientPermission | where {$_.User -like "NT User:S*"} | Remove-PublicFolderClientPermission
Скрипт перебирает все общие папки, смотрит в них права доступа и если находит пользователя, начинающегося с «NT User:S», то удаляет его из ACL.
Posted in Exchange | No Comments »