В этом разделе описывается, как использовать командную консоль Exchange для импорта записей переопределения адресов на компьютер с установленной ролью пограничного транспортного сервера Microsoft Exchange Server 2007.

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

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

Дополнительные сведения о клонировании пограничного транспортного сервера см. в разделе Использование клонированной конфигурации пограничного транспортного сервера.

Предварительная подготовка

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

Перед использованием файлов значений с разделителями-запятыми (CSV) для массового импорта записей переопределения адресов необходимо ознакомиться с процессом создания записи переопределения адресов. Дополнительные сведения о создании записи переопределения адресов см. в разделе Создание элемента перезаписи адресов.

Процедура

В следующих разделах объясняется процесс импорта записей переопределения адресов с помощью CSV-файлов:

  • Создание CSV-файла. В этом разделе описаны обязательные и необязательные поля CSV-файла, используемые для импорта записей переопределения адресов. В этом разделе также описаны конкретные требования для использования параметров ExceptionList и OutboundOnly в CSV-файле.

  • Общие сведения об использовании CSV-файлов с командлетом New-AddressRewriteEntry. В этом разделе описывается, каким образом командная консоль Exchange форматирует и затем использует данные, содержащиеся в CSV-файле, для импорта записей переопределения адресов.

  • Импорт CSV-файла для создания нескольких записей переопределения адресов. Этот раздел основывается на сведениях из предыдущих разделов и включает инструкции по использованию команд командной консоли Exchange для импорта CSV-файла и создания нескольких записей переопределения адресов с помощью этого файла.

Создание CSV-файла

Прежде всего необходимо создать CSV-файл, содержащий столбцы значений, соответствующие параметрам, которые требуются для выполнения командлета New-AddressRewriteEntry. Для командлета New-AddressRewriteEntry требуются указанные ниже значения, поэтому в CSV-файле должны быть соответствующие столбцы:

  • Name. Значением этого параметра должна быть строка, уникальным образом идентифицирующая запись переопределения адресов.

  • InternalEmailAddress. Этот параметр задает внутренний SMTP-адрес, который требуется переопределить.

  • ExternalEmailAddress. Этот параметр определяет внешний SMTP-адрес, который требуется переопределить.

Перечисленные ниже параметры являются необязательными. Если необходимо, в CSV-файл можно включить столбцы для этих параметров:

  • ExceptionList. В этом параметре задается список дочерних доменов, которые не следует переопределять. SMTP-адреса, содержащиеся в указанных дочерних доменах, не будут переопределяться.

  • OutboundOnly. Этот параметр указывает, должна ли запись переопределения адресов переопределять SMTP-адреса в сообщениях, которые являются входящими и исходящими для организации Exchange 2007, или только в сообщениях, которые являются исходящими из организации Exchange 2007.

При задании значений для столбцов CSV-файла ExceptionList и OutboundOnly в каждой строке столбца должно быть значение. Например, если в какой-либо строке CSV-файла указано значение для столбца ExceptionList, во всех остальных строках CSV-файла должно быть значение для этого столбца. Это необходимо потому, что параметр ExceptionList в командной строке будет ожидать значение из CSV-файла.

Дополнительные сведения о каждом параметре в этих списках см. в разделе New-AddressRewriteEntry.

Требования при использовании в CSV-файле параметра ExceptionList

Если необходимо создать несколько записей переопределения адресов и при этом некоторые записи требуют ввода значений для параметраExceptionList, а некоторые — нет записи, необходимо разделить эти записи переопределения адресов, создать отдельные CSV-файлы и импортировать каждый из этих CSV-файлов. Кроме того, значения параметра ExceptionList необходимо заключить в прямые кавычки ("). Если необходимо указать несколько доменов с параметром ExceptionList, значения следует разделить запятыми (,). Например, строка "domain1.com,domain2.com, domain3.com" содержит три домена, заключенные в прямые кавычки и разделенные запятыми.

Требования при использовании в CSV-файле параметра OutboundOnly

Если в одной строке CSV-файла указано значение для столбца OutboundOnly, значение для столбца OutboundOnly необходимо указать во всех остальных строках CSV-файла (как и для параметра ExceptionList). Тем не менее это требование можно легко выполнить, указав в каждой строке для параметра OutboundOnly значение True или False.

В отличие от использования логических значений в командной консоли Exchange, при задании значения параметра OutboundOnly в CSV-файле необходимо указывать True или False, а не $True или $False. Это происходит потому, что значение в CSV-файле вручную преобразуется в логическое значение при интерпретации CSV-файла в командной строке.

Дополнительные сведения о том, когда и как необходимо использовать параметр OutboundOnly , см. в пункте «Особенности использования переопределения адресов исходящих сообщений» раздела Планирование переопределения адресов.

Пример CSV-файла с заполненными необязательными параметрами

В следующем примере показано заполнение CSV-файла с использованием необязательных параметров ExceptionList и OutboundOnly:

Копировать код
Name,InternalAddress,ExternalAddress,ExceptionList,OutboundOnly
"Wingtip UK", *.wingtiptoys.co.uk, tailspintoys.com,"legal.wingtiptoys.co.uk,finance.wingtiptoys.co.uk,support.wingtiptoys.co.uk",True
"Wingtip USA", *.wingtiptoys.com, tailspintoys.com,"legal.wingtiptoys.com,finance.wingtiptoys.com,support.wingtiptoys.com,corp.wingtiptoys.com",True
"Wingtip Canada", *.wingtiptoys.ca, tailspintoys.com,"legal.wingtiptoys.ca,finance.wingtiptoys.ca,support.wingtiptoys.ca",True

В следующем примере показано заполнение CSV-файла с использованием необязательного параметра OutboundOnly:

Копировать код
Name,InternalAddress,ExternalAddress,OutboundOnly
"Contoso Sales",*.sales.contoso.com,contoso.com,True
"Contoso Research",*.research.contoso.com,contoso.com,True
"Contoso UK",*.contoso.co.uk,contoso.com,True
"Contoso Japan",*.contoso.co.jp,contoso.com,True
"Contoso Support",support@adatum.com,support@contoso.com,False
"Contoso Financial External",contosofinancial@woodgrovebank.com,financialinqueries@contoso.com,False

Общие сведения об использовании CSV-файлов с командлетом New-AddressRewriteEntry

Чтобы импортировать записи переопределения адресов с помощью CSV-файлов, необходимо воспользоваться командлетом Import-Csv. Командлет Import-Csv считывает CSV-файл и выводит каждую строку CSV-файла в виде элемента массива, а каждый столбец в строке — в виде свойства этого элемента массива. Просмотреть выполнение этой процедуры можно с помощью CSV-файла, приведенного выше в пункте «Пример CSV-файла с заполненными необязательными параметрами». Скопируйте текст примера в файл с именем example.csv и импортируйте этот CSV-файла с помощью следующей команды:

Копировать код
$CsvContents = Import-Csv c:\example.csv

Затем введите в командной строке следующую команду:

Копировать код
$CsvContents

Будут возвращены следующие данные:

Копировать код
Name				InternalAddress	 ExternalAddress	 OutboundOnly
----				---------------	 ---------------	 ------------
Contoso Sales	 *.sales.contoso.com contoso.com		 True
Contoso Research	*.research.conto... contoso.com		 True
Contoso UK		*.contoso.co.uk	 contoso.com		 True
Contoso Japan	 *.contoso.co.jp	 contoso.com		 True
Contoso Support	 support@adatum.com  support@contoso.com False
Contoso Financia... contosofinancial... financialinqueri... False

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

Копировать код
$CsvContents[2].InternalAddress

Будет возвращено значение *.contoso.co.uk.

Примечание.
Нумерация элементов массива всегда начинается с 0. Таким образом, чтобы извлечь значения из третьей строки, необходимо указать элемент массива 2. Дополнительные сведения о массивах см. в разделе Массивы.

Изучите этот пример, чтобы понять, каким образом командная консоль Exchange обрабатывает CSV-файл и использует его для передачи данных командлету New-AddressRewriteEntry.

Как можно видеть из данного примера, каждая строка CSV-файла становится элементом массива, а каждый столбец — свойством данного элемента массива. Командлет ForEach командной консоли Exchange позволяет автоматически перемещаться по массиву от начала и до конца и выполнять действия над каждым элементом массива, в данном случае — над каждой строкой CSV-файла. После передачи элемента массива командлету ForEach по конвейеру командная консоль Exchange может получить доступ к хранящимся в нем свойствам. В данном случае, свойствами являются столбцы, содержащиеся в каждой строке.

Эти свойства можно затем использовать для формирования команды New-AddressRewiteEntry, необходимой для создания записей переопределения адресов. Свойства называются по заголовкам столбцов CSV-файла. Свойства не обязательно должны соответствовать имени параметра командлета. Приведенная ниже команда сформирована на основе объяснения данного примера:

Копировать код
Import-Csv c:\example.csv | ForEach { New-AddressRewriteEntry -Name $_.Name -InternalAddress $_.InternalAddress -ExternalAddress $_.ExternalAddress -OutboundOnly ([Bool]::Parse($_.OutboundOnly)) -ExceptionList ($_.ExceptionList.Split(","))}
Примечание.
Импортированный CSV-файл не требуется назначать переменной, как было показано в примере в начале данного раздела. Достаточно выполнить командлет Import-Csv и передать выходные данные этого командлета по конвейеру командлету ForEach, как показано в данном примере.

Эта команда обрабатывает в цикле каждую строку файла example.csv, а затем выполняет командлет New-AddressRewriteEntry для создания записей переопределения адресов с помощью значений параметров, полученных из столбцов каждой строки.

Обратите внимание на специальную переменную $_ в этой команде. Специальная переменная $_ используется для того, чтобы команда обрабатывала текущий объект в конвейере. В данном случае таким объектом является текущая строка CSV-файла.

Свойства OutboundOnly и ExceptionList также сопровождаются дополнительным текстом. Текст ([Bool]::Parse($_.OutboundOnly)) дает командной консоли Exchange команду интерпретировать строку, содержащуюся в свойстве OutboundOnly, как логическое значение. Текст ($_.ExceptionList.Split(",")) указывает командной консоли Exchange, что значения, содержащиеся в свойстве ExceptionList, разделены запятыми. При отсутствии текста, сопровождающего свойство ExceptionList, значения, содержащиеся в свойстве ExceptionList, считаются одной строкой (даже при наличии запятых).

Дополнительные сведения о конвейеризации см. в разделе Конвейеризация.

Импорт CSV-файла для создания нескольких записей переопределения адресов

Теперь, после изучения принципов действия команд, можно создать CSV-файл и использовать его для создания нескольких записей переопределения адресов. Создайте CSV-файл, содержащий по крайней мере столбцы Name, InternalAddress и ExternalAddress. Если необходимо указать значения параметров ExternalAddress и OutboundOnly, добавьте также эти столбцы. Обратите внимание на то, что каждая строка должна содержать значение для каждого столбца. Пример правильно отформатированного CSV-файла см. в пункте «Пример CSV-файла с заполненными необязательными параметрами» выше в этом разделе.

Чтобы создать несколько записей переопределения адресов с помощью CSV-файла, используйте следующий синтаксис команды:

Копировать код
Import-Csv <CSV file path> | ForEach { New-AddressRewriteEntry -Name $_.<Name CSV column heading> -InternalAddress $_.<InternalAddress CSV column heading> -ExternalAddress $_.<ExternalAddress CSV column heading> -OutboundOnly ([Bool]::Parse($_.<OutboundOnly CSV column heading>)) -ExceptionList ($_.<ExceptionList CSV column heading>.Split(","))}

Создание нескольких записей переопределения адресов с помощью CSV-файла в командной консоли Exchange

  1. Создайте и заполните CSV-файл с именем C:\ImportAddressRewriteEntries.csv

  2. Выполните следующую команду:

    Копировать код
    Import-Csv c:\ImportAddressRewriteEntries.csv | ForEach { New-AddressRewriteEntry -Name $_.Name -InternalAddress $_.InternalAddress -ExternalAddress $_.ExternalAddress -OutboundOnly ([Bool]::Parse($_.OutboundOnly)) -ExceptionList ($_.ExceptionList.Split(","))}
    

Дополнительные сведения о синтаксисе и параметрах см. в разделе New-AddressRewriteEntry.