Come modificare le condizioni e delle eccezioni 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-03-20

In questo argomento viene descritto come utilizzare Exchange Management Shell per modificare le condizioni ed eccezioni relative a una regola di trasporto esistente configurata in un computer in cui è installato il ruolo del server Trasporto Hub o il ruolo del server Trasporto Edge di Microsoft Exchange Server 2007.

Per ulteriori informazioni sugli agenti 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 condizioni ed eccezioni 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, sulla delega dei ruoli e sui diritti necessari per l'amministrazione di Exchange Server 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 condizioni ed eccezioni di una regola di trasporto

Le procedure utilizzate per modificare le condizioni e le eccezioni delle regole di trasporto sono molto simili poiché utilizzano gli stessi predicati delle regole di trasporto sottostanti. Le procedure descritte in questo argomento utilizzano le condizioni delle regole di trasporto come un esempio ma possono anche essere applicate alle eccezioni delle regole di trasporto. Per utilizzare le seguenti regole di modifica delle eccezioni alle regole di trasporto, modificare Conditions in Exceptions. Si prenda in considerazione l'esempio riportato di seguito.

  • Per accedere alle condizioni di una regola di trasporto, eseguire il comando riportato di seguito:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  • Per accedere alle eccezioni di una regola di trasporto, eseguire il comando riportato di seguito:

    $ExceptionArray = (Get-TransportRule "Test Rule").Exceptions
    

Aggiunta di condizioni a una regola di trasporto

Innanzitutto è necessario conservare le condizioni esistenti. Assegnare ciascuna condizione esistente nella matrice alla variabile corrispondente. Per assegnare la matrice delle condizioni a una variabile, utilizzare la seguente sintassi dei comandi:

$ConditionArray = (Get-TransportRule "<rule name>").Conditions

Per assegnare le condizioni di una regola di trasporto a una variabile e visualizzare il numero delle condizioni presenti nella matrice

  1. Eseguire il comando seguente per assegnare la matrice delle condizioni a una variabile:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Eseguire il comando seguente per visualizzare il numero delle condizioni nella matrice:

    $ConditionArray.Length
    

Quindi assegnare ciascuna condizione nella matrice alla variabile corrispondente. Le condizioni si trovano in elementi di matrici numerate da 0 a $Condition.Length - 1. Utilizzare la sintassi seguente per assegnare ciascun elemento di matrice delle condizioni alla variabile corrispondente:

$ExistingCondition<Array Element Number> = $ConditionArray[<Array Element Number>]

Per assegnare ciascun elemento di matrice delle condizioni alla variabile corrispondente

  • Eseguire i comandi riportati di seguito:

    $ExistingCondition0 = $ConditionArray[0]
    $ExistingCondition1 = $ConditionArray[1]
    

Quindi creare le nuove condizioni. Non è possibile utilizzare condizioni già applicate alla regola di trasporto esistente. Utilizzare la seguente sintassi per assegnare una nuova condizione a una variabile:

$NewCondition = Get-TransportRulePredicate <Predicate Name>

Per ottenere un elenco dei predicati delle regole di trasporto, vedere Predicati delle regole di trasporto.

Per assegnare una nuova condizione a una nuova variabile

  • Eseguire il comando riportato di seguito:

    $NewCondition = Get-TransportRulePredicate SubjectContains
    

Dopo avere assegnato la nuova condizione a una nuova variabile, assegnare un valore alla condizione. Per eseguire questa operazione, eseguire il comando riportato di seguito:

$NewCondition.<PredicateProperty> = <Single Value or Array of Values>

Per ottenere un elenco delle proprietà dei predicati delle regole di trasporto nonché la formattazione prevista dei relativi valori, vedere Predicati delle regole di trasporto.

Per assegnare valori a una nuova condizione

  • Eseguire il comando riportato di seguito:

    $NewCondition.Words = @("Test Subject 1", "Test Subject 2")
    

Dopo aver creato tutte le nuove condizioni, applicare tali condizioni alla regola di trasporto esistente. Per modificare la regola di trasporto, utilizzare la sintassi dei comandi seguente:

Set-TransportRule <Transport Rule Name> -Condition @(<Conditions>)

Nota

Quando si specificano le condizioni nel comando Set-TransportRule, è necessario ordinare le condizioni esistenti e quelle nuove in base al valore di Rank. Utilizzare il comando Get-TransportRulePredicate per visualizzare la classificazione di ciascuna condizione o eccezione.

Per modificare la regola di trasporto esistente

  • Eseguire il comando riportato di seguito:

    Set-TransportRule "Test Rule" -Condition @($ExistingCondition0, $ExistingCondition1, $NewCondition)
    

Rimozione delle condizioni da una regola di trasporto

Per rimuovere una condizione da una regola di trasporto, eseguire i passaggi descritti nella sezione precedente in questo argomento:

  1. Per assegnare le condizioni di una regola di trasporto a una variabile e visualizzare il numero delle condizioni presenti nella matrice

  2. Assegnare ciascun elemento di matrice delle condizioni alle variabili corrispondenti, ad eccezione della condizione che si desidera rimuovere.

  3. Modificare la regola di trasporto esistente.

Per rimuovere una condizione da una regola di trasporto

  1. Eseguire il comando seguente per assegnare la matrice delle condizioni a una variabile:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Eseguire il comando seguente per visualizzare il numero delle condizioni nella matrice:

    $ConditionArray.Length
    
  3. Eseguire il comando seguente per visualizzare le condizioni nella variabile $ConditionArray e prendere nota del numero di elemento di matrice relativo alla condizione che si desidera rimuovere:

    $ConditionArray
    
  4. Eseguire i comandi seguenti per assegnare alle variabili le condizioni da conservare, omettendo gli elementi di matrice delle condizioni da non conservare:

    $ExistingCondition1 = $Condition[1]
    ...
    
  5. Eseguire il comando seguente per modificare la regola di trasporto, assegnando soltanto le variabili associate alle condizioni da conservare:

    Set-TransportRule "Test Rule" -Condition @($ExistingCondition1)
    

Modifica del valore di una condizione esistente su una regola di trasporto

Le procedure di modifica di una condizione dipendono dal fatto che la condizione accetta o non accetta valori singoli o multipli. Seguire la procedura che si applica al tipo di condizione che si desidera modificare.

Per determinare il tipo di condizione che si desidera modificare, vedere Predicati delle regole di trasporto.

Modifica di una condizione esistente con valore singolo

Innanzitutto, assegnare le condizioni della regola di trasporto esistente a una variabile e visualizzare la matrice. Utilizzare la seguente sintassi dei comandi:

$ConditionArray = (Get-TransportRule "Test Rule").Conditions

Per assegnare le condizioni di una regola di trasporto a una variabile e visualizzare il numero delle condizioni presenti nella matrice

  1. Eseguire il comando seguente per assegnare la matrice delle condizioni a una variabile:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Eseguire il comando seguente per visualizzare il numero delle condizioni nella matrice:

    $ConditionArray
    

Determinare quale azione si desidera modificare e prendere nota del relativo numero di elemento di matrice. Vedere "Aggiunta di valori a una condizione esistente con più valori" più avanti in questo argomento per trovare il numero di elemento di matrice corretto.

Dopo aver determinato il numero di elemento di matrice, assegnare il nuovo valore alla condizione utilizzando la seguente sintassi dei comandi:

$ConditionArray[<array element number>].<Predicate Property> = <Single Value>

Per assegnare un valore alla condizione WithImportance corrispondente al numero di elemento di matrice 2

  • Eseguire il comando riportato di seguito:

    $ConditionArray[2].Importance = "High"
    

Per modificare la regola di trasporto esistente

  • Eseguire il comando riportato di seguito:

    Set-TransportRule "Test Rule" -Condition $ConditionArray
    

Nota

Non è necessario inserire la variabile $ConditionArray in una matrice, poiché la variabile $ConditionArray è già una matrice.

Aggiunta di valori a una condizione esistente con più valori

Innanzitutto, assegnare le condizioni della regola di trasporto esistente a una variabile e visualizzare la matrice. Utilizzare la seguente sintassi dei comandi:

$ConditionArray = (Get-TransportRule "Test Rule").Conditions

Per assegnare le condizioni di una regola di trasporto a una variabile e visualizzare il numero delle condizioni presenti nella matrice

  1. Eseguire il comando seguente per assegnare la matrice delle condizioni a una variabile:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Eseguire il comando seguente per visualizzare il numero delle condizioni nella matrice:

    $ConditionArray
    

Determinare quale azione si desidera modificare e prendere nota del relativo numero di elemento di matrice. Alla prima condizione nella matrice è associato l'elemento di matrice 0. Se si desidera modificare la terza condizione nell'elenco, il numero di elemento di matrice corrispondente è 2. Quindi è necessario determinare le proprietà di predicato delle condizioni. Le proprietà di predicato delle condizioni sono sempre elencate immediatamente prima della riga che comincia con LinkedDisplayTextException, come nell'esempio riportato di seguito:

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

In questo esempio, la prima condizione, per l'elemento di matrice 0, dispone di Addresses di proprietà del predicato. La seconda condizione, per 1 di elemento di dispone di Words di proprietà del predicato.

Per aggiungere nuovi valori a una condizione esistente, utilizzare la seguente sintassi dei comandi:

$ConditionArray[<Array Element Number>].<Predicate Property> += <Array of Values>

Per ottenere un elenco delle proprietà dei predicati delle regole di trasporto nonché la formattazione prevista dei relativi valori, vedere Predicati delle regole di trasporto.

Per aggiungere nuovi valori a una condizione esistente nell'elemento di matrice 1 dell'esempio

  • Eseguire il comando riportato di seguito:

    $ConditionArray[1].Words += @("Industry Projections", "Sales Forecast")
    

Per modificare la regola di trasporto esistente

  • Eseguire il comando riportato di seguito:

    Set-TransportRule "Test Rule" -Condition $ConditionArray
    

Nota

Non è necessario inserire la variabile $ConditionArray in una matrice, poiché la variabile $ConditionArray è già una matrice.

Rimozione di valori a una condizione esistente con più valori

Per rimuovere i valori dalla condizione esistente, è necessario prendere nota dei valori esistenti e inserirli nuovamente nella condizione, omettendo i valori che non sono più voluti. Quando si esegue la seguente procedura, i valori esistenti sono sostituiti dai valori specificati dall'utente.

Nota

La seguente procedura si rivela molto utile per le condizioni in cui sono configurati pochi lavori. Tuttavia, per le condizioni che dispongono di decine o centinaia di valori configurati, la procedura non è adeguata. Si consiglia di utilizzare un loop di foreach quando non è considerato appropriato assegnare manualmente i valori a una condizione per una seconda volta.
Per ulteriori informazioni, vedere Utilizzo di Exchange Management Shell.

Innanzitutto, assegnare le condizioni della regola di trasporto esistente a una variabile e visualizzare la matrice. Utilizzare la seguente sintassi dei comandi:

$ConditionArray = (Get-TransportRule "Test Rule").Conditions

Per assegnare le condizioni di una regola di trasporto a una variabile e visualizzare il numero delle condizioni presenti nella matrice

  1. Eseguire il comando seguente per assegnare la matrice delle condizioni a una variabile:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Eseguire il comando seguente per visualizzare il numero delle condizioni nella matrice:

    $ConditionArray
    

Quindi, visualizzare i valori della condizione 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à di predicato di una matrice di condizioni, vedere "Aggiunta di valori a una condizione esistente con più valori" precedentemente in questo argomento. Utilizzare la seguente sintassi dei comandi:

$ConditionArray[<Array Element Number>]

Quindi, sostituire i valori esistenti dalla condizione che si desidera modificare con i valori che si desidera conservare. Utilizzare la seguente sintassi dei comandi:

$ConditionArray[<Array Element Number>].<Predicate Property> = <Array of Values>

Per ottenere un elenco delle proprietà dei predicati delle regole di trasporto nonché la formattazione prevista dei relativi valori, vedere Predicati delle regole di trasporto.

Per rimuovere i valori da una condizione esistente nell'elemento di matrice 1 dell'esempio precedente

  1. Eseguire il seguente comando per visualizzare i valori correnti che sono configurati per quella condizione:

    $ConditionArray[1]
    
  2. Eseguire il seguente comando per sostituire i valori correnti con i valori desiderati:

    $ConditionArray[1].Words = @("Corporate Communication", "Sales Quotas")
    

Per modificare la regola di trasporto esistente

  • Eseguire il comando riportato di seguito:

    Set-TransportRule "Test Rule" -Condition $ConditionArray
    

Nota

Non è necessario inserire la variabile $ConditionArray in una matrice, poiché è già una matrice.

Ulteriori informazioni

Per ulteriori informazioni sulla sintassi e sui parametri relativi a ciascun comando, vedere i seguenti argomenti:

Per ulteriori informazioni sulle regole di trasporto, vedere i seguenti argomenti: