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

Дополнительные сведения об агентах правил транспорта см. в разделе Обзор правил транспорта.

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

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

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

  • роль администратора организации Exchange.

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

Дополнительные сведения о разрешениях, делегировании ролей и правах, необходимых для администрирования сервера Exchange Server 2007, см. в разделе Вопросы, связанные с разрешениями.

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

Дополнительные сведения об среде управления Exchange см. в разделе Использование среды управления Exchange.

Изменение действий в правиле транспорта

Добавление действий в правило транспорта

Сначала необходимо сохранить существующие действия. Назначьте каждое существующее действие в массиве действий своей собственной переменной. Используйте синтаксис следующей команды для назначения массива действий переменной:

Копировать код
$ActionArray = (Get-TransportRule "<rule name>").Actions

Назначение действий правила транспорта для переменной и просмотр количества действий в массиве

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

    Копировать код
    $ActionArray = (Get-TransportRule "Test Rule").Actions
    
  2. Чтобы просмотреть количества действий в массиве, выполните следующую команду:

    Копировать код
    $ActionArray.Length
    

Затем назначьте каждое действие в массиве своей собственной переменной. Действия находятся в элементах массива, которые нумеруются от 0 до $ActionArray.Length - 1. Используйте следующий синтаксис для назначения каждого элемента массива действий своей собственной переменной:

Копировать код
$ExistingAction<Array Element Number> = $ActionArray[<Array Element Number>]

Назначение каждого элемента массива действий для своей собственной переменной.

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

    Копировать код
    $ExistingAction0 = $ActionArray[0]
    $ExistingAction1 = $ActionArray[1]
    

Затем создайте новое действие или новые действия. Действия, которые уже применены к существующему правилу транспорта, невозможно использовать. Используйте следующий синтаксис, чтобы назначить новое действие для переменной:

Копировать код
$NewAction = Get-TransportRuleAction <Action Name>

Список действий правила транспорта см. в разделе Действия правил транспорта.

Назначение нового действия для новой переменной

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

    Копировать код
    $NewAction = Get-TransportRuleAction LogEvent
    

После назначения нового действия для новой переменной назначьте значение для действия. Используйте следующую команду для присвоения значения новому действию:

Копировать код
$NewAction.<ActionProperty> = <Single Value or Array of Values>

Список свойств действий правил транспорта и предполагаемое форматирование их значений см. в разделе Действия правил транспорта.

Назначение значений для нового действия

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

    Копировать код
    $NewAction.LogMessage = "Transport Rule triggered"
    

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

Копировать код
Set-TransportRule <Transport Rule Name> -Action @(<Actions>)
Примечание.
Необходимо упорядочить существующие и новые действия в соответствии с их значениями Rank при указании действий в команде Set-TransportRule. Используйте команду Get-TransportRuleAction для просмотра ранга каждого действия.

Изменение существующего правила транспорта

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

    Копировать код
    Set-TransportRule "Test Rule" -Action @($ExistingAction0, $ExistingAction1, $NewAction)
    

Удаление действий из правила транспорта

Чтобы удалить действие из правила транспорта, выполните эти шаги, описанные выше в этом разделе:

  1. Назначьте действия правила транспорта переменной и просмотрите количество действий в массиве.

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

  3. Измените существующее правило транспорта.

Удаление действия из правила транспорта

  1. Для назначения массива действий переменной выполните следующую команду:

    Копировать код
    $ActionArray = (Get-TransportRule "Test Rule").Actions
    
  2. Для просмотра количества действий в массиве выполните следующую команду:

    Копировать код
    $ActionArray.Length
    
  3. Чтобы просмотреть действия в переменной $ActionArray и отметить номер элемента массива для удаляемого действия, выполните следующую команду:

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

    Копировать код
    $ExistingAction1 = $Action[1]
    ...
    
  5. Чтобы изменить правило транспорта, назначая только переменные, связанные с действиями, которые хотите сохранить, выполните следующую команду:

    Копировать код
    Set-TransportRule "Test Rule" -Action @($ExistingAction1)
    

Изменение значения существующего действия в правиле транспорта

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

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

Чтобы определить тип действия, которое предполагается изменить, см. раздел Действия правил транспорта.

Изменение существующего действия с одним значением

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

Копировать код
$ActionArray = (Get-TransportRule "Test Rule").Actions

Назначение действий правила транспорта для переменной и просмотр количества действий в массиве

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

    Копировать код
    $ActionArray = (Get-TransportRule "Test Rule").Actions
    
  2. Чтобы просмотреть действия в массиве, выполните следующую команду:

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

Определите, какое действие требуется изменить, и отметьте для себя номер его элемента массива. Первое действие в массиве находится при элементе массива 0. Если действие, которое требуется изменить, является третьим действием в списке, номер его элемента массива равен 2. Затем необходимо определить свойство или свойства действия. Свойства действия всегда перечисляются непосредственно перед строкой, начинающейся с параметра Name.

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

Копировать код
$ActionArray[<array element number>].<Action Property> = <Single Value>

Список свойств действий правила транспорта и предполагаемое форматирование их значений см. в разделе Действия правил транспорта.

Назначение значения действию SetScl с элементом массива 2

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

    Копировать код
    $ActionArray[2].SclValue = "7"
    

Чтобы изменить существующее правило транспорта

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

    Копировать код
    Set-TransportRule "Test Rule" -Action $ActionArray
    
Примечание.
Нет необходимости вставлять переменную $ActionArray в массив, так как переменная $ActionArray всегда является массивом.

Добавление значений к существующему действию с несколькими значениями

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

Копировать код
$ActionArray = (Get-TransportRule "Test Rule").Actions

Назначение действий правила транспорта для переменной и просмотр количества действий в массиве

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

    Копировать код
    $ActionArray = (Get-TransportRule "Test Rule").Actions
    
  2. Чтобы просмотреть действия в массиве, выполните следующую команду:

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

Определите, какое действие требуется изменить, и отметьте для себя номер его элемента массива. Первому действию в массиве соответствует элемент массива 0. Если действие, которое предполагается изменить, является третьим действием в списке, номер его элемента массива равен 2. Затем нужно определить свойство или свойства действия. Свойства действия всегда перечисляются непосредственно перед строкой, начинающейся с параметра Name, как в следующем примере:

Копировать код
Addresses		 : {Legal Group, Regulatory Compliance}
Name			: RedirectMessage
Rank			: 10
LinkedDisplayText : redirect the message to <a id="Addresses">addresses</a>

RejectReason	 : Example Message
EnhancedStatusCode : 5.7.1
Name			 : RejectMessage
Rank			 : 11
LinkedDisplayText  : send <a id="RejectReason">bounce message</a> to sender with <a id ="EnhancedStatusCode">enhanced status code</a>

В этом примере первое действие, соответствующее элементу массива 0, имеет свойство действия Addresses. Второе действие, соответствующее элементу массива 1, имеет свойства действия RejectReason и EnhancedStatusCode.

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

Копировать код
$ActionArray[<Array Element Number>].<Action Property> += <Array of Values>

Сведения о списке свойств действий правил транспорта и предполагаемом форматировании их значений см. в разделе Действия правил транспорта.

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

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

    Копировать код
    $ActionArray[0].Addresses += @((Get-DistributionGroup "Example Group 1"), (Get-DistributionGroup "Example Group 2))
    

Чтобы изменить существующее правило транспорта

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

    Копировать код
    Set-TransportRule "Test Rule" -Action $ActionArray
    
Примечание.
Вставлять переменную $ActionArray в массив не требуется, поскольку переменная $ActionArray уже является массивом.

Удаление значений из существующего действия с несколькими значениями

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

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

Дополнительные сведения см. в разделе Использование среды управления Exchange.

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

Копировать код
$ActionArray = (Get-TransportRule "Test Rule").Actions

Назначение действий правила транспорта для переменной и просмотр количества действий в массиве

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

    Копировать код
    $ActionArray = (Get-TransportRule "Test Rule").Actions
    
  2. Чтобы просмотреть действия в массиве, выполните следующую команду:

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

Затем просмотрите значения действия, которые предполагается изменить, и замените значения этого действия значениями, которые нужно сохранить. Дополнительные сведения о том, как определить номер элемента и свойства действий в массиве действий, см. подраздел «Добавление значений к существующему действию с несколькими значениями» выше в данном разделе. Используйте следующий синтаксис команды:

Копировать код
$ActionArray[<Array Element Number>]

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

Копировать код
$ActionArray[<Array Element Number>].<Action Property> = <Array of Values>

Сведения о списке свойств действий правила транспорта и предполагаемом форматировании их значений см. в разделе Предикаты правил транспорта.

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

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

    Копировать код
    $ActionArray[0]
    
  2. Чтобы заменить текущие значения нужными значениями, выполните следующую команду:

    Копировать код
    $ActionArray[0].Addresses = @((Get-Mailbox "Kim Akers"),(Get-Mailbox "Frank Lee"))
    

Чтобы изменить существующее правило транспорта

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

    Копировать код
    Set-TransportRule "Test Rule" -Action $ActionArray
    
    Примечание.
    Вставлять переменную $ActionArray в массив не требуется, поскольку переменная $ActionArray уже является массивом.

Дополнительные сведения