В этом разделе описано использование среды управления 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 |
Привязка условий правила транспорта к переменной и просмотр количества условий в массиве
-
Чтобы привязать массив условий к переменной, выполните следующую команду:
Копировать код $ConditionArray = (Get-TransportRule "Test Rule").Conditions
-
Чтобы просмотреть число условий в массиве, выполните следующую команду:
Копировать код $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)
Удаление условий из правила транспорта
Чтобы удалить условие из правила транспорта, проделайте следующие шаги из перечисленных в этом разделе ранее:
- Привязка условий правила транспорта к переменной и просмотр
количества условий в массиве
- Привязка каждого элемента массива условий к его собственной
переменной, кроме условия, которое требуется удалить.
- Изменение существующего правила транспорта
Удаление условия из правила транспорта
-
Чтобы привязать массив условий к переменной, выполните следующую команду:
Копировать код $ConditionArray = (Get-TransportRule "Test Rule").Conditions
-
Чтобы просмотреть число условий в массиве, выполните следующую команду:
Копировать код $ConditionArray.Length
-
Чтобы просмотреть условия в переменной
$ConditionArray
и выбрать из массива условий номер элемента, который требуется удалить, выполните следующую команду:Копировать код $ConditionArray
-
Чтобы привязать к переменным условия, которые нужно сохранить, пропуская элементы массива условий, которые не нужно сохранять, выполните следующую команду:
Копировать код $ExistingCondition1 = $Condition[1] ...
-
Чтобы изменить правило транспорта, привязывая только переменные, связанные с условиями, которые требуется сохранить, выполните следующую команду:
Копировать код Set-TransportRule "Test Rule" -Condition @($ExistingCondition1)
Изменение значений существующего условия в правиле транспорта
Процедуры изменения условия зависят от того, принимает условие одно или несколько значений. Следуйте процедурой, применимой к типу условия, которое требуется изменить.
Чтобы определить тип условия, которое требуется изменить, см. раздел Предикаты правил транспорта.
Изменение существующего условия с одним значением
Сначала привяжите условия существующего правила транспорта к переменной и просмотрите массив. Используйте следующий синтаксис команды:
Копировать код | |
---|---|
$ConditionArray = (Get-TransportRule "Test Rule").Conditions |
Привязка условий правила транспорта к переменной и просмотр количества условий в массиве
-
Чтобы привязать массив условий к переменной, выполните следующую команду:
Копировать код $ConditionArray = (Get-TransportRule "Test Rule").Conditions
-
Чтобы просмотреть условия в массиве, выполните следующую команду:
Копировать код $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 |
Привязка условий правила транспорта к переменной и просмотр количества условий в массиве
-
Чтобы привязать массив условий к переменной, выполните следующую команду:
Копировать код $ConditionArray = (Get-TransportRule "Test Rule").Conditions
-
Чтобы просмотреть условия в массиве, выполните следующую команду:
Копировать код $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 |
Привязка условий правила транспорта к переменной и просмотр количества условий в массиве
-
Чтобы привязать массив условий к переменной, выполните следующую команду:
Копировать код $ConditionArray = (Get-TransportRule "Test Rule").Conditions
-
Чтобы просмотреть условия в массиве, выполните следующую команду:
Копировать код $ConditionArray
Затем просмотрите значения условия, которые требуется изменить, и замените значения этого условия значениями, которые нужно сохранить. Дополнительные сведения о том, как определить номер элемента и свойства предиката массива условий, см. выше в разделе «Добавление значения к существующему условию с несколькими значениями». Используйте следующий синтаксис команды:
Копировать код | |
---|---|
$ConditionArray[<Array Element Number>] |
Затем замените существующие значения условия, которые требуется изменить, значениями, которые нужно сохранить. Используйте следующий синтаксис команды:
Копировать код | |
---|---|
$ConditionArray[<Array Element Number>].<Predicate Property> = <Array of Values> |
Список свойств предикатов правил транспорта и ожидаемое форматирование их значений см. в разделе Предикаты правил транспорта.
Чтобы удалить значения из существующего условия, соответствующего элементу массива 1 из приведенного ранее примера
-
Чтобы просмотреть текущие значения, настроенные для условия, выполните следующую команду:
Копировать код $ConditionArray[1]
-
Чтобы заменить текущие значения требуемыми значениями, выполните следующую команду:
Копировать код $ConditionArray[1].Words = @("Corporate Communication", "Sales Quotas")
Чтобы изменить существующее правило транспорта
-
Выполните следующую команду:
Копировать код Set-TransportRule "Test Rule" -Condition $ConditionArray
Примечание. |
---|
Нет необходимости вставлять переменную
$ConditionArray в массив, так как переменная
$ConditionArray сама является массивом. |
Дополнительные сведения
Подробную информацию о синтаксисе и параметрах каждой команды см. в следующих разделах:
Дополнительные сведения о правилах транспорта см. в следующих разделах: