Ändern von Aktionen von Transportregeln in der Exchange-Verwaltungsshell
Gilt für: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Letztes Änderungsdatum des Themas: 2007-08-27
In diesem Thema wird erläutert, wie die Exchange-Verwaltungskonsole oder die Exchange-Verwaltungsshell zum Anzeigen einer vorhandenen Transportregel auf einem Computer verwendet wird, auf dem die Microsoft Exchange Server 2007-Serverfunktion Hub-Transport oder Edge-Transport installiert ist.
Weitere Informationen über die Agents für Transportregeln finden Sie unter Übersicht über Transportregeln.
Bevor Sie beginnen
Bevor Sie die im Folgenden beschriebenen Verfahren ausführen, lesen Sie Ändern einer Transportregel; hier finden Sie wichtige Informationen, die zum Ändern der Aktionen von Transportregeln erforderlich sind.
Damit Sie die nachstehenden Verfahren ausführen können, muss Folgendes an das verwendete Konto delegiert worden sein:
- die Rolle Exchange-Organisationsadministrator
Um die folgenden Verfahren auf einem Computer ausführen zu können, auf dem die Serverfunktion Edge-Transport installiert ist, müssen Sie sich mit einem Konto anmelden, das Mitglied der lokalen Administratorgruppe auf dem betreffenden Computer ist.
Weitere Informationen über Berechtigungen, das Delegieren von Funktionen und die zum Verwalten von Exchange 2007 erforderlichen Rechte finden Sie unter Überlegungen zu Berechtigungen.
Sie müssen mit den folgenden Konzepten vertraut sein, um diese Verfahren ausführen zu können:
Weitere Informationen zur Exchange-Verwaltungsshell finden Sie unter Verwenden der Exchange-Verwaltungsshell.
Ändern der Aktionen einer Transportregel
Hinzufügen von Aktionen zu einer Transportregel
Zunächst müssen Sie die vorhandenen Aktionen erhalten. Weisen Sie jeder der vorhandenen Aktionen im Aktionsarray eine eigene Variable zu. Verwenden Sie die folgende Befehlssyntax, um das Aktionsarray einer Variablen zuzuweisen:
$ActionArray = (Get-TransportRule "<rule name>").Actions
So weisen Sie einer Variablen die Aktionen einer Transportregel zu und zeigen die Anzahl der im Array vorhandenen Aktionen an
Führen Sie den folgenden Befehl aus, um das Aktionsarray einer Variablen zuzuweisen:
$ActionArray = (Get-TransportRule "Test Rule").Actions
Führen Sie den folgenden Befehl aus, um die Anzahl der Aktionen im Array anzuzeigen:
$ActionArray.Length
Weisen Sie anschließend jeder Aktion im Array eine eigene Variable zu. Die Aktionen befinden sich in Arrayelementen, die von 0
bis $ActionArray.Length - 1
durchnummeriert sind. Verwenden Sie die folgende Syntax, um jedes Aktionsarrayelement einer eigenen Variablen zuzuweisen:
$ExistingAction<Array Element Number> = $ActionArray[<Array Element Number>]
So weisen Sie jedes Aktionsarrayelement einer eigenen Variablen zu
Führen Sie die folgenden Befehle aus:
$ExistingAction0 = $ActionArray[0] $ExistingAction1 = $ActionArray[1]
Erstellen Sie anschließend die neue Aktion oder die neuen Aktionen. Sie können die Aktionen, die bereits auf die vorhandene Transportregel angewendet werden, nicht verwenden. Verwenden Sie die folgende Syntax, um einer Variablen eine neue Aktion zuzuweisen:
$NewAction = Get-TransportRuleAction <Action Name>
Eine Liste mit Transportregelaktionen finden Sie unter Aktionen von Transportregeln.
So fügen Sie eine neue Aktion einer neuen Variablen hinzu
Führen Sie den folgenden Befehl aus:
$NewAction = Get-TransportRuleAction LogEvent
Nachdem Sie die neue Aktion einer neuen Variablen zugewiesen haben, weisen Sie der Aktion einen Wert zu. Verwenden Sie den folgenden Befehl, um der neuen Aktion einen Wert zuzuweisen:
$NewAction.<ActionProperty> = <Single Value or Array of Values>
Eine Liste der Eigenschaften von Transportregelaktionen und der erwarteten Formatierung ihrer Werte finden Sie unter Aktionen von Transportregeln.
So weisen Sie einer neuen Aktion Werte zu
Führen Sie den folgenden Befehl aus:
$NewAction.LogMessage = "Transport Rule triggered"
Wenden Sie nach dem Erstellen aller neuen Aktionen die Aktionen auf die vorhanden Transportregel an. Verwenden Sie die folgende Befehlssyntax, um die Transportregel zu ändern:
Set-TransportRule <Transport Rule Name> -Action @(<Actions>)
Hinweis
Beim Angeben der Aktionen im Befehl Set-TransportRule müssen Sie die neuen Aktionen entsprechend ihrem Rank
(Rang) sortieren. Verwenden Sie den Befehl Get-TransportRuleAction, um den Rang jeder der Aktionen anzuzeigen.
So ändern Sie die vorhandene Transportregel
Führen Sie den folgenden Befehl aus:
Set-TransportRule "Test Rule" -Action @($ExistingAction0, $ExistingAction1, $NewAction)
Entfernen von Aktionen aus einer Transportregel
Führen Sie diese Schritte aus einem früheren Abschnitt in diesem Thema aus, um eine Aktion aus einer Transportregel zu entfernen:
Weisen Sie einer Variablen die Aktionen einer Transportregel zu, und zeigen Sie die Anzahl der im Array vorhandenen Aktionen an.
Weisen Sie jedes Aktionsarrayelement einer eigenen Variablen zu, mit Ausnahme der zu entfernenden Aktion.
Ändern Sie die vorhandene Transportregel.
So entfernen Sie eine Aktion aus einer Transportregel
Führen Sie den folgenden Befehl aus, um das Aktionsarray einer Variablen zuzuweisen:
$ActionArray = (Get-TransportRule "Test Rule").Actions
Führen Sie den folgenden Befehl aus, um die Anzahl der Aktionen im Array anzuzeigen:
$ActionArray.Length
Führen Sie den folgenden Befehl aus, um die Aktionen in der
$ActionArray
-Variablen anzuzeigen, und notieren Sie die Arrayelementnummer der zu entfernenden Aktion:$ActionArray
Führen Sie die folgenden Befehle aus, um die beizubehaltenden Aktionen Variablen zuzuweisen, wobei Sie die Arrayelemente der Aktionen auslassen, die Sie nicht behalten möchten:
$ExistingAction1 = $Action[1] ...
Führen Sie den folgenden Befehl aus, um die Transportregel zu ändern, und weisen Sie nur die Variablen zu, die den beizubehaltenden Aktionen zugeordnet sind:
Set-TransportRule "Test Rule" -Action @($ExistingAction1)
Ändern des Werts einer vorhandenen Aktion für eine Transportregel
Die Verfahren zum Ändern einer Aktion hängen davon ab, ob diese einen oder mehrere Werte zulässt. Wählen Sie das Verfahren, das dem Typ der zu ändernden Aktion entspricht.
Hinweis
In den folgenden Beispielen werden die auf Hub-Transport-Servern verfügbaren Aktionen von Transportregeln verwendet.
Um den Typ der zu ändernden Aktion zu bestimmen, lesen Sie Aktionen von Transportregeln.
Ändern einer vorhandenen Aktion mit einem Wert
Weisen Sie zuerst die Aktionen der vorhandenen Transportregel einer Variablen zu, und zeigen Sie das Array an. Verwenden Sie die folgende Befehlssyntax:
$ActionArray = (Get-TransportRule "Test Rule").Actions
So weisen Sie einer Variablen die Aktionen einer Transportregel zu und zeigen die Anzahl der im Array vorhandenen Aktionen an
Führen Sie den folgenden Befehl aus, um das Aktionsarray einer Variablen zuzuweisen:
$ActionArray = (Get-TransportRule "Test Rule").Actions
Führen Sie den folgenden Befehl aus, um die Aktionen im Array anzuzeigen:
$ActionArray
Bestimmen Sie, welche Aktion geändert werden soll, und notieren Sie seine Arrayelementnummer. Die erste Aktion im Array befindet sich im Arrayelement 0
. Wenn die Aktion, die Sie ändern möchten, die dritte Aktion in der Liste ist, weist sie die Arrayelementnummer 2
auf. Anschließend müssen Sie die Aktionseigenschaft(en) bestimmen. Die Aktionseigenschaften sind immer unmittelbar vor der Zeile aufgelistet, die mit Name
beginnt.
Weisen Sie nach dem Bestimmen der Arrayelementnummer den neuen Wert der betreffenden Aktion zu, und verwenden Sie dazu die folgende Befehlssyntax:
$ActionArray[<array element number>].<Action Property> = <Single Value>
Eine Liste der Eigenschaften von Transportregelaktionen und der erwarteten Formatierung ihrer Werte finden Sie unter Aktionen von Transportregeln.
So weisen Sie der "SetScl"-Aktion in Arrayelement 2 einen Wert zu
Führen Sie den folgenden Befehl aus:
$ActionArray[2].SclValue = "7"
So ändern Sie die vorhandene Transportregel
Führen Sie den folgenden Befehl aus:
Set-TransportRule "Test Rule" -Action $ActionArray
Hinweis
Die $ActionArray
-Variable muss nicht in ein Array eingefügt werden, weil sich die $ActionArray
-Variable bereits in einem Array befindet.
Hinzufügen von Werten zu einer vorhandenen Aktion mit mehreren Werten
Weisen Sie zuerst die Aktionen der vorhandenen Transportregel einer Variablen zu, und zeigen Sie das Array an. Verwenden Sie die folgende Befehlssyntax:
$ActionArray = (Get-TransportRule "Test Rule").Actions
So weisen Sie einer Variablen die Aktionen einer Transportregel zu und zeigen die Anzahl der im Array vorhandenen Aktionen an
Führen Sie den folgenden Befehl aus, um das Aktionsarray einer Variablen zuzuweisen:
$ActionArray = (Get-TransportRule "Test Rule").Actions
Führen Sie den folgenden Befehl aus, um die Aktionen im Array anzuzeigen:
$ActionArray
Bestimmen Sie, welche Aktion geändert werden soll, und notieren Sie deren Arrayelementnummer. Die erste Aktion im Array befindet sich im Arrayelement 0
. Wenn die Aktion, die Sie ändern möchten, die dritte Aktion in der Liste ist, weist sie die Arrayelementnummer 2
auf. Anschließend müssen Sie die Aktionseigenschaft(en) bestimmen. Die Aktionseigenschaften der Aktion werden stets unmittelbar vor der mit Name
beginnenden Zeile aufgelistet (siehe das folgende Beispiel):
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>
In diesem Beispiel hat die erste Aktion beim Arrayelement 0
die Aktionseigenschaft Addresses
. Die zweite Aktion beim Arrayelement 1
hat die Aktionseigenschaften RejectReason
und EnhancedStatusCode
.
Mithilfe der folgenden Befehlssyntax können Sie einer vorhandenen Aktion neue Werte hinzufügen:
$ActionArray[<Array Element Number>].<Action Property> += <Array of Values>
Eine Liste der Eigenschaften von Transportregelaktionen und der erwarteten Formatierung ihrer Werte finden Sie unter Aktionen von Transportregeln.
So fügen Sie in dem Beispiel einer beim Arrayelement 0 vorhandenen Aktion Werte hinzu
Führen Sie den folgenden Befehl aus:
$ActionArray[0].Addresses += @((Get-DistributionGroup "Example Group 1"), (Get-DistributionGroup "Example Group 2))
So ändern Sie die vorhandene Transportregel
Führen Sie den folgenden Befehl aus:
Set-TransportRule "Test Rule" -Action $ActionArray
Hinweis
Die Variable $ActionArray
muss nicht in ein Array eingefügt werden, weil sich die Variable $ActionArray
bereits in einem Array befindet.
Entfernen von Werten aus einer vorhandenen Aktion mit mehreren Werten
Um Werte aus einer vorhandenen Aktion zu entfernen, müssen Sie die vorhandenen Werte notieren und anschließend die vorhandenen Werte erneut in die Aktion eingeben, wobei Sie die nicht mehr gewünschten Werte weglassen. Beim folgenden Verfahren werden die vorhandenen Werte durch die von Ihnen angegebenen Werte ersetzt.
Hinweis
Das folgende Verfahren eignet sich gut für Aktionen, für die nur wenige Werte konfiguriert sind. Für Aktionen mit Dutzenden oder gar Hunderten von konfigurierten Werten ist dieses Verfahren jedoch nicht empfehlenswert. Es wird empfohlen, eine ForEach
-Schleife zu verwenden, wenn das manuelle erneute Zuweisen von Werten zu einer Aktion zu aufwändig ist.
Weitere Informationen finden Sie unter Verwenden der Exchange-Verwaltungsshell.
Weisen Sie zuerst die Aktionen der vorhandenen Transportregel einer Variablen zu, und zeigen Sie das Array an. Verwenden Sie die folgende Befehlssyntax:
$ActionArray = (Get-TransportRule "Test Rule").Actions
So weisen Sie einer Variablen die Aktionen einer Transportregel zu und zeigen die Anzahl der im Array vorhandenen Aktionen an
Führen Sie den folgenden Befehl aus, um das Aktionsarray einer Variablen zuzuweisen:
$ActionArray = (Get-TransportRule "Test Rule").Actions
Führen Sie den folgenden Befehl aus, um die Aktionen im Array anzuzeigen:
$ActionArray
Zeigen Sie anschließend die Werte der Aktion an, die Sie ändern möchten, und ersetzen Sie die Werte dieser Aktion durch die Werte, die Sie beibehalten möchten. Weitere Informationen zum Bestimmen der Elementnummer und Aktionseigenschaften eines Aktionsarrays finden Sie weiter oben in diesem Thema unter "Hinzufügen von Werten zu einer vorhandenen Aktion mit mehreren Werten". Verwenden Sie die folgende Befehlssyntax:
$ActionArray[<Array Element Number>]
Ersetzen Sie anschließend die vorhandenen Werte der Aktion, die Sie ändern möchten, durch die Werte, die Sie beibehalten möchten. Verwenden Sie die folgende Befehlssyntax:
$ActionArray[<Array Element Number>].<Action Property> = <Array of Values>
Eine Liste der Eigenschaften von Transportregelaktionen und der erwarteten Formatierung ihrer Werte finden Sie unter Transportregelprädikate.
So entfernen Sie in dem obigen Beispiel Werte aus einer beim Arrayelement 0 vorhandenen Aktion
Führen Sie den folgenden Befehl aus, um die aktuellen Werte anzuzeigen, die für die Aktion konfiguriert sind:
$ActionArray[0]
Führen Sie den folgenden Befehl aus, um die aktuellen Werte durch die gewünschten Werte zu ersetzen:
$ActionArray[0].Addresses = @((Get-Mailbox "Kim Akers"),(Get-Mailbox "Frank Lee"))
So ändern Sie die vorhandene Transportregel
Führen Sie den folgenden Befehl aus:
Set-TransportRule "Test Rule" -Action $ActionArray
Hinweis
Die Variable
$ActionArray
muss nicht in ein Array eingefügt werden, weil sich die Variable$ActionArray
bereits in einem Array befindet.
Weitere Informationen
Ausführliche Informationen zu Syntax und Parametern für die einzelnen Befehle finden Sie unter den folgenden Themen:
Weitere Informationen zu Transportregeln finden Sie unter den folgenden Themen: