В этом разделе описано, как использовать среду управления Exchange для изменения действий в существующем правиле транспорта, настроенном на компьютере, на котором установлена роль транспортного сервера-концентратора или роль пограничного транспортного сервера Microsoft Exchange Server 2007.
Дополнительные сведения об агентах правил транспорта см. в разделе Обзор правил транспорта.
Предварительная подготовка
Прежде чем выполнить следующие процедуры, ознакомьтесь с разделом Инструкции по изменению правила транспорта, который содержит важные сведения, необходимые для изменения действий правила транспорта.
Для выполнения описанных ниже действий используемой учетной записи необходимо делегировать следующую роль:
- роль администратора организации Exchange.
Для выполнения следующих процедур на компьютере с установленной серверной ролью «Граничный транспорт» необходимо осуществить вход в систему с учетной записью, входящей в локальную группу «Администраторы» этого компьютера.
Дополнительные сведения о разрешениях, делегировании ролей и правах, необходимых для администрирования сервера Exchange Server 2007, см. в разделе Вопросы, связанные с разрешениями.
Для выполнения этих процедур необходимо быть знакомым со следующими понятиями:
Дополнительные сведения об среде управления Exchange см. в разделе Использование среды управления Exchange.
Изменение действий в правиле транспорта
Добавление действий в правило транспорта
Сначала необходимо сохранить существующие действия. Назначьте каждое существующее действие в массиве действий своей собственной переменной. Используйте синтаксис следующей команды для назначения массива действий переменной:
Копировать код | |
---|---|
$ActionArray = (Get-TransportRule "<rule name>").Actions |
Назначение действий правила транспорта для переменной и просмотр количества действий в массиве
-
Чтобы назначить массив действий для переменной, выполните следующую команду:
Копировать код $ActionArray = (Get-TransportRule "Test Rule").Actions
-
Чтобы просмотреть количества действий в массиве, выполните следующую команду:
Копировать код $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)
Удаление действий из правила транспорта
Чтобы удалить действие из правила транспорта, выполните эти шаги, описанные выше в этом разделе:
- Назначьте действия правила транспорта переменной и просмотрите
количество действий в массиве.
- Назначьте каждый элемент массива действий своей собственной
переменной за исключением действия, которое хотите удалить.
- Измените существующее правило транспорта.
Удаление действия из правила транспорта
-
Для назначения массива действий переменной выполните следующую команду:
Копировать код $ActionArray = (Get-TransportRule "Test Rule").Actions
-
Для просмотра количества действий в массиве выполните следующую команду:
Копировать код $ActionArray.Length
-
Чтобы просмотреть действия в переменной
$ActionArray
и отметить номер элемента массива для удаляемого действия, выполните следующую команду:Копировать код $ActionArray
-
Чтобы назначить действия, которые требуется сохранить в переменных, пропуская элементы массива для действий, которые не надо сохранять, выполните следующую команду:
Копировать код $ExistingAction1 = $Action[1] ...
-
Чтобы изменить правило транспорта, назначая только переменные, связанные с действиями, которые хотите сохранить, выполните следующую команду:
Копировать код Set-TransportRule "Test Rule" -Action @($ExistingAction1)
Изменение значения существующего действия в правиле транспорта
Процедуры изменения действия зависят от того, принимает действие одно или несколько значений. Следует выполнять процедуру, применимую к типу действия, которое предполагается изменить.
Примечание. |
---|
В следующих примерах используются действия правил транспорта, доступные на транспортных серверах-концентраторах. |
Чтобы определить тип действия, которое предполагается изменить, см. раздел Действия правил транспорта.
Изменение существующего действия с одним значением
Сначала назначьте действия существующего правила транспорта переменной и просмотрите массив. Используйте следующий синтаксис команды:
Копировать код | |
---|---|
$ActionArray = (Get-TransportRule "Test Rule").Actions |
Назначение действий правила транспорта для переменной и просмотр количества действий в массиве
-
Чтобы назначить массив действий для переменной, выполните следующую команду:
Копировать код $ActionArray = (Get-TransportRule "Test Rule").Actions
-
Чтобы просмотреть действия в массиве, выполните следующую команду:
Копировать код $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 |
Назначение действий правила транспорта для переменной и просмотр количества действий в массиве
-
Чтобы назначить массив действий для переменной, выполните следующую команду:
Копировать код $ActionArray = (Get-TransportRule "Test Rule").Actions
-
Чтобы просмотреть действия в массиве, выполните следующую команду:
Копировать код $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 |
Назначение действий правила транспорта для переменной и просмотр количества действий в массиве
-
Чтобы назначить массив действий для переменной, выполните следующую команду:
Копировать код $ActionArray = (Get-TransportRule "Test Rule").Actions
-
Чтобы просмотреть действия в массиве, выполните следующую команду:
Копировать код $ActionArray
Затем просмотрите значения действия, которые предполагается изменить, и замените значения этого действия значениями, которые нужно сохранить. Дополнительные сведения о том, как определить номер элемента и свойства действий в массиве действий, см. подраздел «Добавление значений к существующему действию с несколькими значениями» выше в данном разделе. Используйте следующий синтаксис команды:
Копировать код | |
---|---|
$ActionArray[<Array Element Number>] |
Затем замените существующие значения действия, которые предполагается изменить, значениями, которые нужно сохранить. Используйте следующий синтаксис команды:
Копировать код | |
---|---|
$ActionArray[<Array Element Number>].<Action Property> = <Array of Values> |
Сведения о списке свойств действий правила транспорта и предполагаемом форматировании их значений см. в разделе Предикаты правил транспорта.
Чтобы удалить значения из существующего действия, соответствующего элементу массива 0 из приведенного ранее примера
-
Чтобы просмотреть текущие значения, настроенные для данного действия, выполните следующую команду:
Копировать код $ActionArray[0]
-
Чтобы заменить текущие значения нужными значениями, выполните следующую команду:
Копировать код $ActionArray[0].Addresses = @((Get-Mailbox "Kim Akers"),(Get-Mailbox "Frank Lee"))
Чтобы изменить существующее правило транспорта
-
Выполните следующую команду:
Копировать код Set-TransportRule "Test Rule" -Action $ActionArray
Примечание. Вставлять переменную $ActionArray
в массив не требуется, поскольку переменная$ActionArray
уже является массивом.
Дополнительные сведения
Подробные сведения о синтаксисе и параметрах каждой команды см. в следующих разделах.
Дополнительные сведения о правилах транспорта см. в следующих разделах: