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

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

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

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

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

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

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

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

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

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

Изменение условий или исключений в правиле транспорта

Процедуры, используемые для изменения условий и исключений в правилах транспорта, очень подобны, поскольку в условиях и исключениях используются одни и те же базовые предикаты правил транспорта. Хотя в процедурах, описанных в этом разделе, в качестве примера используются условия правил транспорта, эти процедуры можно также применять и к исключениям правил транспорта. Чтобы вместо условий изменить исключения правила транспорта, замените Conditions на Exceptions. Рассмотрим следующий пример:

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

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

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

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

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

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

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

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

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

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

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

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

Чтобы привязать каждый элемент массива условий к его собственной переменной

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

    Копировать код
    $ExistingCondition0 = $ConditionArray[0]
    $ExistingCondition1 = $ConditionArray[1]
    

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

Копировать код
$NewCondition = Get-TransportRulePredicate <Predicate Name>

Список предикатов правил транспорта см. в разделе Предикаты правил транспорта.

Чтобы привязать новое условие к новой переменной

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

    Копировать код
    $NewCondition = Get-TransportRulePredicate SubjectContains
    

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

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

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

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

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

    Копировать код
    $NewCondition.Words = @("Test Subject 1", "Test Subject 2")
    

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

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

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

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

    Копировать код
    Set-TransportRule "Test Rule" -Condition @($ExistingCondition0, $ExistingCondition1, $NewCondition)
    

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

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

  1. Привязка условий правила транспорта к переменной и просмотр количества условий в массиве

  2. Привязка каждого элемента массива условий к его собственной переменной, кроме условия, которое требуется удалить.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Копировать код
    $ConditionArray[2].Importance = "High"
    

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

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

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

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

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

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

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

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

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

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

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

Копировать код
Addresses				: {Kim Akers}
LinkedDisplayTextException : except if from <a id="Addresses">people</a>
Name					 : From
Rank					 : 0
LinkedDisplayText		: from <a id="Addresses">people</a>

Words					: {Corporate Communication, Message from VP, Sales Quotas}
LinkedDisplayTextException : except if with <a id="Words">specific words</a> in the subject
Name					 : SubjectContains
Rank					 : 15
LinkedDisplayText		: with <a id="Words">specific words</a> in the subject

В этом примере первое условие, элемент массива 0, имеет свойство предиката Addresses. Второе условие, элемент массива 1, имеет свойство предиката Words.

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

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

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

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

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

    Копировать код
    $ConditionArray[1].Words += @("Industry Projections", "Sales Forecast")
    

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Копировать код
    $ConditionArray[1].Words = @("Corporate Communication", "Sales Quotas")
    

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

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

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

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