Come modificare le azioni delle regole di trasporto in Exchange Management Shell
Si applica a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Ultima modifica dell'argomento: 2007-08-27
In questo argomento viene descritto come utilizzare Exchange Management Shell per modificare le azioni relative a una regola di trasporto esistente configurata in un computer in cui è installato il ruolo del server Microsoft Exchange Server 2007 Trasporto Hub o Trasporto Edge.
Per ulteriori informazioni sugli agenti delle regole di trasporto, vedere Cenni preliminari sulle regole di trasporto.
Informazioni preliminari
Prima di eseguire le procedure seguenti, vedere Come modificare una regola di trasporto, in cui vengono fornite informazioni importanti e necessarie per modificare le azioni delle regole di trasporto.
Per eseguire queste procedure, è necessario utilizzare un account che disponga della seguente delega:
- Ruolo Exchange Organization Administrator
Per eseguire le procedure riportate di seguito su un computer in cui è installato il ruolo del server Trasporto Edge, è necessario accedere al sistema utilizzando un account che sia membro del gruppo Administrators locale del computer.
Per ulteriori informazioni sulle autorizzazioni, sui ruoli con delega e sui diritti necessari per l'amministrazione di Exchange 2007, vedere Considerazioni sulle autorizzazioni.
Per eseguire queste procedure, è necessario avere familiarità con i concetti descritti di seguito:
Per ulteriori informazioni su Exchange Management Shell, vedere Utilizzo di Exchange Management Shell.
Modifica delle azioni su una regola di trasporto
Aggiunta di azioni a una regola di trasporto
Innanzitutto è necessario conservare le azioni esistenti. Assegnare ciascuna azione esistente nella matrice alla variabile corrispondente. Per assegnare la matrice delle azioni a una variabile, utilizzare la seguente sintassi dei comandi:
$ActionArray = (Get-TransportRule "<rule name>").Actions
Per assegnare le azioni di una regola di trasporto a una variabile e visualizzare il numero delle azioni presenti nella matrice
Eseguire il comando seguente per assegnare la matrice delle azioni a una variabile:
$ActionArray = (Get-TransportRule "Test Rule").Actions
Eseguire il comando seguente per visualizzare il numero delle azioni nella matrice:
$ActionArray.Length
Quindi assegnare ciascuna azione nella matrice alla variabile corrispondente. Le azioni si trovano in elementi di matrice numerati da 0
a $ActionArray.Length - 1
. Utilizzare la sintassi seguente per assegnare ciascun elemento di matrice delle azioni alla variabile corrispondente:
$ExistingAction<Array Element Number> = $ActionArray[<Array Element Number>]
Per assegnare ciascun elemento di matrice delle azioni alla variabile corrispondente
Eseguire i comandi riportati di seguito:
$ExistingAction0 = $ActionArray[0] $ExistingAction1 = $ActionArray[1]
Quindi creare le nuove azioni. Non è possibile utilizzare le azioni già applicate alla regola di trasporto esistente. Utilizzare la seguente sintassi per assegnare una nuova azione a una variabile:
$NewAction = Get-TransportRuleAction <Action Name>
Per ottenere un elenco delle azioni delle regole di trasporto, vedere Azioni delle regole di trasporto.
Per assegnare una nuova azione a una nuova variabile
Eseguire il comando riportato di seguito:
$NewAction = Get-TransportRuleAction LogEvent
Dopo avere assegnato la nuova azione a una nuova variabile, assegnare un valore all'azione. Per eseguire questa operazione, utilizzare il comando seguente:
$NewAction.<ActionProperty> = <Single Value or Array of Values>
Per ottenere un elenco contenente le proprietà delle azioni delle regole di trasporto e la formattazione prevista per i relativi valori, vedere Azioni delle regole di trasporto.
Per assegnare valori a una nuova azione
Eseguire il comando riportato di seguito:
$NewAction.LogMessage = "Transport Rule triggered"
Dopo aver creato tutte le nuove azioni, applicare tali azioni alla regola di trasporto esistente. Per modificare la regola di trasporto, utilizzare la sintassi dei comandi seguente:
Set-TransportRule <Transport Rule Name> -Action @(<Actions>)
Nota
Quando si specificano le azioni nel comando Set-TransportRule, è necessario ordinare le azioni esistenti e quelle nuove in base al valore relativo a Rank
. Utilizzare il comando Get-TransportRuleAction per visualizzare la classificazione di ciascuna azione.
Per modificare la regola di trasporto esistente
Eseguire il comando riportato di seguito:
Set-TransportRule "Test Rule" -Action @($ExistingAction0, $ExistingAction1, $NewAction)
Rimozione delle azioni da una regola di trasporto
Per rimuovere un'azione da una regola di trasporto, eseguire i passaggi descritti nella sezione precedente in questo argomento:
Assegnare le azioni di una regola di trasporto a una variabile e visualizzare il numero delle azioni presenti nella matrice.
Assegnare ciascun elemento di matrice delle azioni alle variabili corrispondenti, ad eccezione dell'azione che si desidera rimuovere.
Modificare la regola di trasporto esistente.
Per rimuovere un'azione da una regola di trasporto
Eseguire il comando seguente per assegnare la matrice delle azioni a una variabile:
$ActionArray = (Get-TransportRule "Test Rule").Actions
Eseguire il comando seguente per visualizzare il numero delle azioni nella matrice:
$ActionArray.Length
Eseguire il comando seguente per visualizzare le azioni nella variabile
$ActionArray
e prendere nota del numero di elemento di matrice relativo all'azione che si desidera rimuovere:$ActionArray
Eseguire i comandi seguenti per assegnare alle variabili le azioni da conservare, omettendo gli elementi di matrice delle azioni da non conservare:
$ExistingAction1 = $Action[1] ...
Eseguire il comando seguente per modificare la regola di trasporto, assegnando soltanto le variabili associate alle azioni da conservare:
Set-TransportRule "Test Rule" -Action @($ExistingAction1)
Modifica del valore di un'azione esistente su una regola di trasporto
Le procedure di modifica di una azione variano a seconda che l'azione accetti o meno valori singoli o multipli. Seguire la procedura che si applica al tipo di azione che si desidera modificare.
Nota
Gli esempi seguenti utilizzano azioni delle regole di trasporto disponibili nei server di trasporto Hub.
Per determinare il tipo di azione che si desidera modificare, vedere Azioni delle regole di trasporto.
Modifica di una azione esistente con valore singolo
Innanzitutto, assegnare le azioni della regola di trasporto esistente a una variabile e visualizzare la matrice. Utilizzare la seguente sintassi dei comandi:
$ActionArray = (Get-TransportRule "Test Rule").Actions
Per assegnare le azioni di una regola di trasporto a una variabile e visualizzare il numero delle azioni presenti nella matrice
Eseguire il comando seguente per assegnare la matrice delle azioni a una variabile:
$ActionArray = (Get-TransportRule "Test Rule").Actions
Eseguire il comando seguente per visualizzare le azioni nella matrice:
$ActionArray
Determinare quale azione si desidera modificare e prendere nota del relativo numero di elemento di matrice. Alla prima azione nella matrice è associato l'elemento di matrice 0
. Se si desidera modificare la terza azione nell'elenco, il numero di elemento di matrice corrispondente è 2
. Quindi è necessario determinare le proprietà delle azioni. Le proprietà delle azioni sono sempre elencate immediatamente prima della riga che inizia per Name
.
Dopo aver determinato il numero di elemento di matrice, assegnare il nuovo valore all'azione utilizzando la seguente sintassi dei comandi:
$ActionArray[<array element number>].<Action Property> = <Single Value>
Per un elenco contenente le proprietà delle azioni delle regole di trasporto e il formato previsto per i relativi valori, vedere Azioni delle regole di trasporto.
Per assegnare un valore all'azione SetScl corrispondente all'elemento di matrice 2
Eseguire il comando indicato di seguito:
$ActionArray[2].SclValue = "7"
Per modificare la regola di trasporto esistente
Eseguire il comando indicato di seguito:
Set-TransportRule "Test Rule" -Action $ActionArray
Nota
Non è necessario inserire la variabile $ActionArray
in una matrice, poiché è già una matrice.
Aggiunta di valori a un'azione esistente con più valori
Innanzitutto, assegnare le azioni della regola di trasporto esistente a una variabile e visualizzare la matrice. Utilizzare la seguente sintassi dei comandi:
$ActionArray = (Get-TransportRule "Test Rule").Actions
Per assegnare le azioni di una regola di trasporto a una variabile e visualizzare il numero delle azioni presenti nella matrice
Eseguire il comando seguente per assegnare la matrice delle azioni a una variabile:
$ActionArray = (Get-TransportRule "Test Rule").Actions
Eseguire il comando seguente per visualizzare le azioni nella matrice:
$ActionArray
Determinare quale azione si desidera modificare e prendere nota del relativo numero di elemento della matrice. Alla prima azione nella matrice è associato l'elemento di matrice 0
. Se si desidera modificare la terza azione nell'elenco, il numero di elemento di matrice corrispondente è 2
. Quindi è necessario determinare le proprietà delle azioni. Le proprietà delle azioni sono sempre elencate immediatamente prima della riga che comincia con Name
, come nell'esempio riportato di seguito:
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 questo esempio, alla prima azione, per l'elemento di matrice 0
, è associata la proprietà dell'azione Addresses
. Alla seconda azione, per l'elemento di matrice 1
, sono associate le proprietà dell'azione RejectReason
e EnhancedStatusCode
.
Per aggiungere nuovi valori a un'azione esistente, utilizzare la seguente sintassi dei comandi:
$ActionArray[<Array Element Number>].<Action Property> += <Array of Values>
Per un elenco contenente le proprietà delle azioni delle regole di trasporto e il formato previsto per i relativi valori, vedere Azioni delle regole di trasporto.
Per aggiungere nuovi valori a un'azione esistente nell'elemento di matrice 0 dell'esempio
Eseguire il comando indicato di seguito:
$ActionArray[0].Addresses += @((Get-DistributionGroup "Example Group 1"), (Get-DistributionGroup "Example Group 2))
Per modificare la regola di trasporto esistente
Eseguire il comando indicato di seguito:
Set-TransportRule "Test Rule" -Action $ActionArray
Nota
Non è necessario inserire la variabile $ActionArray
in una matrice, poiché la variabile $ActionArray
è già una matrice.
Rimozione di valori da un'azione esistente con più valori
Per rimuovere i valori dall'azione esistente, è necessario prendere nota dei valori esistenti e inserirli nuovamente nell'azione, omettendo i valori non più desiderati. Quando si esegue la seguente procedura, i valori esistenti vengono sostituiti dai valori specificati dall'utente.
Nota
La seguente procedura si rivela molto utile per le azioni in cui sono configurati pochi valori. Tuttavia, per le azioni che dispongono di decine o centinaia di valori configurati, questa procedura non è adeguata. Se la riassegnazione manuale dei valori a un'azione rappresenta una procedura non adeguata, è consigliabile utilizzare un loop ForEach
.
Per ulteriori informazioni, vedere Utilizzo di Exchange Management Shell.
Innanzitutto, assegnare le azioni della regola di trasporto esistente a una variabile e visualizzare la matrice. Utilizzare la seguente sintassi dei comandi:
$ActionArray = (Get-TransportRule "Test Rule").Actions
Per assegnare le azioni di una regola di trasporto a una variabile e visualizzare il numero delle azioni presenti nella matrice
Eseguire il comando seguente per assegnare la matrice delle azioni a una variabile:
$ActionArray = (Get-TransportRule "Test Rule").Actions
Eseguire il comando seguente per visualizzare le azioni nella matrice:
$ActionArray
Quindi, visualizzare i valori dell'azione che si desidera modificare e sostituirli con quelli che si desidera conservare. Per ulteriori informazioni su come determinare il numero di elemento e le proprietà dell'azione di una matrice di azioni, vedere "Aggiunta di valori a un'azione esistente con più valori" precedentemente in questo argomento. Utilizzare la seguente sintassi dei comandi:
$ActionArray[<Array Element Number>]
Quindi, sostituire i valori esistenti dell'azione che si desidera modificare con i valori che si desidera conservare. Utilizzare la seguente sintassi dei comandi:
$ActionArray[<Array Element Number>].<Action Property> = <Array of Values>
Per un elenco contenente le proprietà delle azioni delle regole di trasporto e il formato previsto per i relativi valori, vedere Predicati delle regole di trasporto.
Per rimuovere i valori da un'azione esistente nell'elemento di matrice 0 dell'esempio precedente
Eseguire il seguente comando per visualizzare i valori correnti che sono configurati per l'azione:
$ActionArray[0]
Eseguire il seguente comando per sostituire i valori correnti con i valori desiderati:
$ActionArray[0].Addresses = @((Get-Mailbox "Kim Akers"),(Get-Mailbox "Frank Lee"))
Per modificare la regola di trasporto esistente
Eseguire il comando indicato di seguito:
Set-TransportRule "Test Rule" -Action $ActionArray
Nota
Non è necessario inserire la variabile
$ActionArray
in una matrice, poiché la variabile$ActionArray
è già una matrice.
Ulteriori informazioni
Per informazioni dettagliate sulla sintassi e sui parametri relativi a ciascun comando, vedere i seguenti argomenti:
Per ulteriori informazioni sulle regole di trasporto, vedere i seguenti argomenti: