Миграция на Echange 2007: обновление адресных политик и списков адресов

Миграция на Exchange 2007

В Exchange 2007 изменился способ формирования фильтров по которым строятся/применяются адресные политики и адресные списки. В связи с этим необходимо обновить все адресные политики и списки адресов для того, чтобы Exchange 2007 мог с ними работать. В противном случае при попытке получить доступ к этим объектам через EMC мы увидим следующую картинку:

capture0

По умолчанию, в организации Exchange создаются следующие объекты, которые мы должны обновить: Default Policy,  All Users, All Groups, All Contacts, Public Folders и Default Global Address List. Первый объект является адресной политикой, остальные – адресными списками. Фильтры используемые для их построения являются стандартными и проблем при их обновлении возникнуть не должно. Обновление выполняется следующим набором команд:

Set-EmailAddressPolicy "Default Policy" -IncludedRecipients AllRecipients
Set-AddressList "All Users" -IncludedRecipients MailboxUsers
Set-AddressList "All Groups" -IncludedRecipients MailGroups
Set-AddressList "All Contacts" -IncludedRecipients MailContacts
Set-AddressList "Public Folders" -RecipientFilter { RecipientType -eq 'PublicFolder' }
Set-GlobalAddressList "Default Global Address List" -RecipientFilter {(Alias -ne $null -and
(ObjectClass -eq 'user' -or ObjectClass -eq 'contact' -or ObjectClass 
-eq 'msExchSystemMailbox' -or ObjectClass -eq 'msExchDynamicDistributionList' -or
ObjectClass -eq 'group' -or ObjectClass -eq 'publicFolder'))}

Далее, необходимо обновить нестандарные адресные политики и списки, которые создавались вручную и могут использовать произвольно составленные фильтры. Теоретически, можно попробовать вручную конвертировать фильтры используемые в Exchange 2003 (LDAP) в фильтры Exrchangw 2007 (OLAP). Более подробно процесс описан в блоге одного из членов продуктовой команды Exchange. Но есть более простой способ – использование утилиты конвертации LDAP в OLAP фильтры. Саму утилиту можно взять здесь. Утилита представляет из себя обычный PoSh-скрипт. С его помощью обновление произвольного списка адресов выглядит следующим образом:

Set-AddressList "My Address List" -RecipientFilter ( .ConvertFrom-LdapFilter 
(Get-AddressList "My Address List").LdapRecipientFilter )

где My Address List – имя адресного списка, который мы обновляем, а ConvertFrom-LdapFiletr.ps1 – имя скрипта, доступного по ссылке выше. По аналогии делается обновление произвольной адресной политики:

Set-EmailAddressPolicy "Custom Policy" -RecipientFilter ( .ConvertFrom-LdapFilter
(Get-EmailAddressPolicy "Custom Policy").LdapRecipientFilter )

Так же следует иметь ввиду, что после подобного преобразования все изменённые объекты будут недоступны для редактирования из консоли управления Exchange 2003. Впрочем, в случае миграции почтовой организации на Exchange 2007 это становится маловажным.

Leave a Reply

Your email address will not be published. Required fields are marked *