Trovare code e messaggi nelle code in Exchange Management Shell

Come nelle versioni precedenti di Exchange, è possibile usare Exchange Management Shell in Exchange Server per visualizzare informazioni su code e messaggi e usare tali informazioni per eseguire azioni su code e messaggi. In genere, un exchange attivo contiene un numero elevato di code e messaggi da recapitare, quindi è importante comprendere come identificare le code o i messaggi che si desidera gestire.

È anche possibile utilizzare il Visualizzatore code nella casella degli strumenti di Exchange per la gestione di code e messaggi in coda. Tuttavia, i cmdlet di visualizzazione della coda e dei messaggi in Exchange Management Shell supportano più proprietà filtrabili e opzioni di filtro rispetto a Visualizzatore code. Per ulteriori informazioni sul Visualizzatore code, vedere Visualizzatore code.

Tenere presente anche che le code sono presenti nei server Cassette postali e nei server Trasporto Edge (il servizio Trasporto). Per altre informazioni sulle code e sui messaggi nelle code, vedere Code e messaggi nelle code.

Parametri filtro della coda

Nella tabella seguente vengono riepilogati i parametri di filtro disponibili nei cmdlet di gestione delle code.

Cmdlet Parametri di filtro Commenti
Get-Queue Exclude
Filter
Identità
Includi
Server
È possibile usare i parametri Include ed Exclude con gli altri parametri di filtro nello stesso comando.
Non è possibile usare i parametri Identity e Filter nello stesso comando.
Il parametro Server consente di specificare il server in cui si vuole eseguire il comando. Non è possibile usare i parametri Server e Identity nello stesso comando, ma è possibile usare il parametro Server con gli altri parametri di filtro nello stesso comando.
Resume-Queue
Retry-Queue
Suspend-Queue
Identità
Filter
Server
Non è possibile usare il parametro Identity con gli altri parametri di filtro nello stesso comando.
Il parametro Server consente di specificare il server in cui si vuole eseguire il comando. È possibile usare i parametri Server e Filter nello stesso comando.
Get-QueueDigest Dag
Filter
Foresta
Server
Site
È necessario usare uno dei parametri Dag, Site, Server o Forest , ma non è possibile usarli insieme nello stesso comando.
È possibile utilizzare il parametro Filter con uno degli altri parametri di filtro.

Identità delle code

Il parametro Identity usa la sintassi <di base Coda>>server<\ . In genere, questo valore identifica in modo univoco la coda, quindi non è possibile usare altri parametri di filtro con il parametro Identity . L'eccezione è il cmdlet Get-Queue , in cui è possibile usare i parametri Include ed Exclude con il parametro Identity .

Nella tabella seguente viene illustrata la sintassi del parametro Identity nei cmdlet di gestione delle code.

Valore del parametro di identità Descrizione
<Server>\<PersistentQueueName> o <PersistentQueueName> Coda persistente nel server locale o specificato.
<PersistentQueueName> è Submission, Unreachableo Poison.
Per altre informazioni sulle code persistenti, vedere Tipi di code.
<Server>\<NextHopDomain> o <NextHopDomain> Coda di recapito nel server locale o specificato.
<NextHopDomain> è il nome della coda dal valore della proprietà NextHopDomain della coda. Ad esempio, lo spazio indirizzi di un connettore di invio, il nome di un sito di Active Directory o il nome di un dag. Per ulteriori informazioni, vedere NextHopSolutionKey.
<Server>\<QueueInteger> o <QueueInteger> Coda di recapito nel server locale o specificato.
<QueueInteger> è il valore intero univoco assegnato a una coda di recapito o a una coda shadow nel database della coda. È tuttavia necessario eseguire il cmdlet Get-Queue per trovare questo valore nelle proprietà Identity o QueueIdentity .
<Server>\Shadow\<QueueInteger> o Shadow\<QueueInteger> Coda shadow nel server locale o specificato. Per altre informazioni sulle code shadow e sulla ridondanza shadow, vedere Ridondanza shadow in Exchange Server.
<Server>\* o * Tutte le code nel server locale o specificato.
Nota: Identity è un parametro posizionale, il che significa che è possibile specificare il valore senza specificare il -Identity qualificatore. Ad esempio, i comandi seguenti producono lo stesso risultato:
Get-Queue -Identity *
Get-Queue *
Get-Queue

Filtrare il parametro nei cmdlet della coda

È possibile usare il parametro Filter in tutti i cmdlet di gestione delle code per identificare una o più code in base alle proprietà delle code. Il parametro Filter crea un filtro OPath con operatori di confronto per limitare il comando alle code che soddisfano i criteri di filtro. È possibile usare l'operatore -and logico per specificare più condizioni per la corrispondenza. Ecco un esempio generico della sintassi:

Get-Queue -Filter "<Property1> -<ComparisonOperator> '<Value1>' -and <Property2> -<ComparisonOperator> '<Value2>'..."

Per un elenco completo delle proprietà della coda che è possibile usare con il parametro Filter , vedere Proprietà coda.

Per un elenco degli operatori di confronto che è possibile usare con il parametro Filter , vedere la sezione Operatori di confronto da usare per filtrare code o messaggi in questo argomento.

Per esempi di procedure che usano il parametro Filter per visualizzare e gestire le code, vedere Procedure per le code.

Includere ed escludere parametri in Get-Queue

È possibile usare i parametri Include ed Exclude nel cmdlet Get-Queue da soli, con ognuno dei parametri o con gli altri parametri di filtro per ottimizzare i risultati. Ad esempio, è possibile:

  • Escludere le code vuote.

  • Escludere le code nelle destinazioni esterne.

  • Includere code con un valore specifico di DeliveryType.

I parametri Include e Exclude utilizzano le seguenti proprietà della coda per filtrare le code:

Valore Descrizione Esempio
DeliveryType Include o esclude le code in base alla proprietà DeliveryType che definisce la modalità di trasmissione del messaggio all'hop successivo. I valori validi sono descritti in NextHopSolutionKey.
È possibile specificare più valori separati da virgole.
Restituisce tutte le code di recapito nel server locale in cui l'hop successivo è un connettore di invio ospitato nel server locale e configurato per il routing smart host.
Get-Queue -Include SmartHostConnectorDelivery
Empty Include o esclude code vuote. Le code vuote hanno il valore 0 nella proprietà MessageCount . Restituisce tutte le code nel server locale che contengono messaggi.
Get-Queue -Exclude Empty
External Include o esclude le code con il valore External nella proprietà NextHopCategory .

Le code esterni hanno sempre uno dei seguenti valori per DeliveryType:

  • DeliveryAgent
  • DnsConnectorDelivery
  • NonSmtpGatewayDelivery
  • SmartHostConnectorDelivery

Per ulteriori informazioni, vedere NextHopSolutionKey.

Restituisce tutte le code interne nel server locale.
Get-Queue -Exclude External
Internal Questo valore include o esclude le code con il valore Internal nella proprietà NextHopCategory . Si noti che un messaggio per un destinatario esterno può richiedere più hop interni prima che raggiunga un server gateway in cui viene recapitato esternamente. Restituisce tutte le code interne nel server locale.
Get-Queue -Include Internal

Si noti che è possibile duplicare la funzionalità dei parametri Include ed Exclude usando il parametro Filter . Ad esempio, i comandi seguenti producono lo stesso risultato:

  • Get-Queue -Exclude Empty

  • Get-Queue -Filter "MessageCount -gt 0"

Tuttavia, come si può notare, la sintassi dei parametri Include ed Exclude è più semplice e facile da ricordare.

Get-QueueDigest

Il cmdlet Get-QueueDigest consente di visualizzare informazioni su alcune o tutte le code nell'organizzazione usando un singolo comando. In particolare, il cmdlet Get-QueueDigest consente di visualizzare le informazioni sulle code in base alla loro percorso sui server, nel DAG, nei siti di Active Directory o in tutta la foresta di Active Directory.

Si noti che le code in un server Trasporto Edge sottoscritto non sono incluse nei risultati. Inoltre, Get-QueueDigest è disponibile in un server Trasporto Edge, ma i risultati sono limitati alle code locali nel server Trasporto Edge.

Nota

Per impostazione predefinita, il cmdlet Get-QueueDigest visualizza le code di recapito che contengono dieci o più messaggi e i risultati hanno una durata compresa tra uno e due minuti. Per istruzioni su come modificare questi valori predefiniti, vedere Configurare Get-QueueDigest.

Nella tabella seguente vengono descritti i parametri di filtro e ordinamento disponibili nel cmdlet Get-QueueDigest .

Parametro Descrizione
Dag, Server o Site Questi parametri si escludono a vicenda (non possono essere usati nello stesso comando) e impostano l'ambito per il cmdlet. È necessario specificare uno di questi parametri o il Forest opzionale. In genere, si utilizza il nome del server, DAG o di un sito di Active Directory, ma è possibile utilizzare qualsiasi valore che identifica in modo univoco il server, un DAG o un sito. È possibile specificare diversi server, DAG o siti separandoli con le virgole.
Foresta Questa opzione è necessaria se non si utilizza Dag, Server o i parametri Site. Non è necessario specificare un valore per questa opzione. Usando questa opzione, si ottengono code da tutti i server Cassette postali di Exchange nella foresta active directory locale. Non è possibile usare questa opzione per visualizzare le code nelle foreste remote di Active Directory.
DetailsLevel Normal è il valore predefinito. Nei risultati vengono restituite le proprietà seguenti:
  • QueueIdentity
  • ServerIdentity
  • MessageCount

Verbose restituisce le proprietà aggiuntive seguenti nei risultati:

  • DeferredMessageCount
  • LockedMessageCount*
  • IncomingRate
  • OutgoingRate
  • Velocity
  • NextHopDomain
  • NextHopCategory
  • NextHopConnector
  • DeliveryType*
  • Stato
  • RiskLevel*
  • OutboundIPPool*
  • LastError
  • TlsDomain

None omette il nome della coda dalla colonna Dettagli nei risultati.

* Queste proprietà sono riservate per l'uso interno di Microsoft e non vengono usate nelle organizzazioni di Exchange locali. Per altre informazioni su tutte le proprietà in questo elenco, vedere Proprietà coda.

Filter Filtrare le code in base alle proprietà della coda, come descritto nella sezione Filtrare il parametro nei cmdlet della coda . È possibile usare una qualsiasi delle proprietà della coda filtrabili come descritto nell'argomento Proprietà coda .
Groupby Raggruppa i risultati della coda. È possibile raggruppare i risultati in base a una delle seguenti proprietà:
  • DeliveryType
  • LastError
  • NextHopCategory
  • NextHopDomain
  • NextHopKey
  • Stato
  • ServerName

Per impostazione predefinita, i risultati sono raggruppati per NextHopDomain. Per informazioni su queste proprietà della coda, vedere Proprietà coda.

Resultsize Limita i risultati della coda al valore specificato. Le code sono disposte in ordine decrescente in base al numero di messaggi nella coda e raggruppate in base al valore specificato dal parametroGroupBy. Il valore predefinito è 1000. Ciò significa che, per impostazione predefinita, il comando visualizza le prime 1000 code raggruppate per NextHopDomain e ordinate in base alle code che contengono più messaggi e alle code che ne contengono in minor quantità.
Timeout Il parametro specifica il numero di secondi prima del timeout dell'operazione. Il valore predefinito è 00:00:10 o 10 secondi.

In questo esempio vengono restituite tutte le code esterne non vuote nei server denominati Mailbox01, Mailbox02 e Mailbox03.

Get-QueueDigest -Server Mailbox01,Mailbox02,Mailbox03 -Include External -Exclude Empty

Parametri di filtro messaggi

La tabella seguente riepiloga i parametri di filtro disponibili nei cmdlet di gestione dei messaggi.

Cmdlet Parametri di filtro Commenti
Get-Message Filter
Identità
Coda
Server
Non è possibile usare i parametri Filter, Identity o Queue nello stesso comando.
Il parametro Server consente di specificare il server in cui si vuole eseguire il comando. È possibile usare i parametri Server e Filter nello stesso comando.
Remove-Message
Resume-Message
Suspend-Message
Filter
Identità
Server
È necessario usare il parametro Identity o Filter , ma non è possibile usarli entrambi nello stesso comando.
Il parametro Server consente di specificare il server in cui si vuole eseguire il comando. È possibile usare i parametri Server e Filter nello stesso comando.
Redirect-Message Server Questo cmdlet scarica i messaggi attivi da tutte le code di recapito nel server specificato, quindi Server è l'unico parametro di filtro disponibile. Per altre informazioni, vedere Reindirizzare i messaggi nelle code.
Export-Message Identità Questo parametro non è in realtà un filtro, perché identifica in modo univoco il messaggio. Per identificare più messaggi per questo cmdlet, usare Get-Message e inviare tramite pipe i risultati a Export-Message. Per altre informazioni ed esempi, vedere Esportare messaggi dalle code.

Identità del messaggio

Il parametro Identity nei cmdlet di gestione dei messaggi identifica in modo univoco un messaggio in una o più code, quindi non è possibile usare altri parametri di filtro dei messaggi. Il parametro Identity usa la sintassi <Server>\<Queue>\<MessageInteger>di base .

Nella tabella seguente viene descritta la sintassi che è possibile usare con il parametro Identity nei cmdlet di gestione dei messaggi.

**Valore del parametro Identity Descrizione**
<Server>\<Queue>\<MessageInteger> o <Queue>\<MessageInteger> Messaggio in una coda specifica nel server locale o specificato.

<Queue> è l'identità della coda come descritto nella sezione Identità coda :

  • Nome di coda persistente
  • Nome di coda di recapito
  • Numero intero della coda
  • Identità coda di ombra

<MessageInteger> è il valore intero univoco assegnato al messaggio quando entra per la prima volta nel database della coda nel server. Se il messaggio viene inviato a più destinatari che richiedono più code, tutte le copie del messaggio in tutte le code nel database della coda hanno lo stesso numero intero. È tuttavia necessario eseguire il cmdlet Get-Message per trovare questo valore nelle proprietà Identity o MessageIdentity .

<Server>\*\<MessageInteger>o o *\<MessageInteger><MessageInteger> Tutte le copie del messaggio in tutte le code nel database della coda nel server locale o specificato.

Filtrare il parametro nei cmdlet dei messaggi

È possibile usare il parametro Filter con i cmdlet Get-Message, Remove-Message, Resume-Message e Suspend-Message per identificare uno o più messaggi in base alle proprietà dei messaggi. Il parametro Filter crea un filtro OPath con operatori di confronto per limitare il comando ai messaggi che soddisfano i criteri di filtro. È possibile usare l'operatore -and logico per specificare più condizioni per la corrispondenza. Ecco un esempio generico della sintassi:

Get-Message -Filter "<Property1> -<ComparisonOperator> '<Value1>' -and <Property2> -<ComparisonOperator> '<Value2>'..."

Per un elenco completo delle proprietà dei messaggi che è possibile usare con il parametro Filter , vedere Proprietà del messaggio.

Per un elenco degli operatori di confronto che è possibile usare con il parametro Filter , vedere la sezione Operatori di confronto da usare per filtrare code o messaggi in questo argomento.

Per esempi di procedure che usano il parametro Filter per visualizzare e gestire i messaggi, vedere Procedure per i messaggi nelle code.

Parametro di coda

Il parametro Queue è disponibile solo nel cmdlet Get-Message . È possibile usare questo parametro per ottenere tutti i messaggi in una coda specifica o tutti i messaggi da più code usando il carattere jolly (*). Quando si usa il parametro Queue , usare il formato <Server>\<Queue> di identità della coda come descritto nella sezione Identità coda in questo argomento.

Gli operatori di confronto da utilizzare durante le operazioni di filtro code o messaggi

Quando si crea una coda o un'espressione del filtro messaggi utilizzando il parametro Filter, è necessario includere un operatore di confronto per il valore della proprietà in modo che corrisponda. Gli operatori di confronto che è possibile usare e il modo in cui ogni funzione operatore viene descritta nella tabella seguente. Per tutti gli operatori i valori confrontati non fanno distinzione tra maiuscole e minuscole.

Operatore Funzione Esempio di codice
-eq Corrispondenza esatta del valore specificato. Mostra tutte le code con stato Riprova:
Get-Queue -Filter "Status -eq 'Retry'"
Mostra tutti i messaggi con stato Riprova:
Get-Message -Filter "Status -eq 'Retry'"
-ne Non corrisponde al valore specificato. Mostra tutte le code che non hanno lo stato Attivo:
Get-Queue -Filter "Status -ne 'Active'"
Mostra tutti i messaggi che non hanno lo stato Attivo:
Get-Message -Filter "Status -ne 'Active'"
-gt Maggiore del valore intero o di data/ora specificato. Mostra code che contengono attualmente più di 1.000 messaggi:
Get-Queue -Filter "MessageCount -gt 1000"
Visualizzare i messaggi con un numero di tentativi superiore a 3:
Get-Message -Filter "RetryCount -gt 3"
-ge Maggiore o uguale al valore intero o di data/ora specificato. Mostra code che contengono attualmente 1.000 o più messaggi:
Get-Queue -Filter "MessageCount -ge 1000"
Mostra i messaggi con un numero di tentativi pari o superiore a 3:
Get-Message -Filter "RetryCount -ge 3"
-lt Minore dell'intero o del valore di data/ora specificato. Mostra code che contengono attualmente meno di 1.000 messaggi:
Get-Queue -Filter "MessageCount -lt 1000"
Mostra i messaggi con un SCL minore di 6:
Get-Message -Filter "SCL -lt 6"
-le Minore o uguale al valore intero o di data/ora specificato. Mostra code che contengono attualmente 1.000 o meno messaggi:
Get-Queue -Filter "MessageCount -le 1000"
Mostra i messaggi con un SCL uguale o inferiore a 6:
Get-Message -Filter "SCL -le 6"
-like Contiene il testo specificato. È necessario includere il carattere jolly (*) nella stringa di testo. Visualizzare le code che hanno una destinazione per qualsiasi dominio SMTP che termina con Contoso.com:
Get-Queue -Filter "Identity -like '*contoso.com'"
Mostra i messaggi con un oggetto che contiene il testo "payday loan":
Get-Message -Filter "Subject -like '*payday loan*'"

È possibile specificare un filtro che valuta più espressioni usando l'operatore -andlogico . Le code o i messaggi devono corrispondere a tutte le condizioni di filtro da includere nei risultati.

In questo esempio viene visualizzato un elenco di code con destinazioni all'interno di un qualsiasi nome di dominio SMTP che termina con Contoso.com e che contiene più di 500 messaggi.

Get-Queue -Filter "Identity -like '*contoso.com*' -and MessageCount -gt 500"

In questo esempio viene visualizzato un elenco di messaggi inviati da qualsiasi indirizzo di posta elettronica nel dominio contoso.com con un valore SCL maggiore di 5.

Get-Message -Filter "FromAddress -like '*Contoso.com*' -and SCL -gt 5"

Parametri di paging avanzati

Quando si usa Exchange Management Shell per visualizzare code e messaggi nelle code, la query recupera una pagina di informazioni alla volta. I parametri di paging avanzati controllano le dimensioni dei risultati e l'ordine in cui vengono visualizzati i risultati. Tutti i parametri di paging avanzati sono facoltativi e possono essere usati con o senza altri parametri di filtro nei cmdlet Get-Queue e Get-Message . Se non viene specificato alcun parametro di paging avanzato, la query restituisce i risultati in ordine crescente in base all'identità.

Per impostazione predefinita, quando si specifica un ordinamento, la proprietà Identity viene sempre inclusa e ordinata in ordine crescente, perché le altre proprietà della coda o del messaggio disponibili non sono univoche.

È possibile usare i parametri BookmarkIndex e BookmarkObject per contrassegnare una posizione nei risultati ordinati. Se l'oggetto segnalibro non esiste più quando si recupera la pagina successiva dei risultati, i risultati iniziano con l'elemento più vicino al segnalibro, che dipende dall'ordinamento specificato.

I parametri di paging avanzati sono descritti nella tabella seguente.

Parametro Descrizione
BookmarkIndex Specifica la posizione nei risultati in cui iniziano i risultati visualizzati. Il valore di questo parametro è un indice in base 1 nei risultati totali. Se il valore è inferiore o uguale a zero, verrà restituita la prima pagina completa dei risultati. Se il valore è impostato su Int.MaxValue, viene restituita l'ultima pagina completa dei risultati.
Non è possibile usare questo parametro con il parametro BookmarkObject .
BookmarkObject Specifica l'oggetto nei risultati in cui iniziano i risultati visualizzati. Una volta specificato, l'oggetto segnalibro viene utilizzato come punto per iniziare la ricerca. Vengono recuperate le righe prima o dopo tale oggetto , a seconda del valore del parametro SearchForward .
Non è possibile usare questo parametro con il parametro BookmarkIndex .
IncludeBookmark Specifica se includere l'oggetto segnalibro nei risultati. I valori validi sono:
$true: l'oggetto bookmark è incluso nei risultati. Questo è il valore predefinito.
$false: l'oggetto segnalibro non è incluso nei risultati. Usare questo valore quando si esegue una query per una dimensione limitata dei risultati e quindi specificare l'ultimo elemento come segnalibro per la query successiva. In questo modo si impedisce che l'oggetto segnalibro venga incluso in entrambi i risultati.
Resultsize Specifica il numero di risultati da visualizzare per pagina. Se non si specifica un valore, viene utilizzato il numero di risultati predefinito di 1000 oggetti. Exchange limita i risultati a 250.000.
ReturnPageInfo Si tratta di un parametro nascosto. che restituisce informazioni sul numero totale di risultati e sull'indice del primo oggetto della pagina corrente. Il valore predefinito è $false.
SearchForward Specifica la direzione della ricerca.
Segnalibro specificato: eseguire la ricerca avanti o indietro nei risultati relativi all'indice o all'oggetto segnalibro.
Nessun segnalibro specificato: eseguire la ricerca avanti o indietro nei risultati del primo o dell'ultimo elemento nei risultati.
I valori validi sono:
$true: eseguire la ricerca in avanti dal primo elemento nei risultati o dal segnalibro specificato. Se non sono presenti risultati oltre il segnalibro, la query restituisce l'ultima pagina completa dei risultati. Questo è il valore predefinito.
$false: eseguire la ricerca all'indietro dall'ultimo elemento nei risultati o dal segnalibro specificato. Se è presente meno di una pagina completa di risultati oltre il segnalibro, la query restituisce la prima pagina completa dei risultati.
Sortorder Specifica le proprietà del messaggio che controllano l'ordinamento dei risultati. L'ordine in cui vengono specificate le proprietà indica un ordine decrescente di precedenza (i risultati vengono ordinati in base alla prima proprietà, quindi i risultati vengono ordinati in base alla seconda proprietà e figlio su).
Questo parametro usa la sintassi , <+|-><Property1>,<+|-><Property2>...dove + ordina la proprietà in ordine crescente e - ordina la proprietà in ordine decrescente.
Se non si usa questo parametro, i risultati vengono ordinati in base alla proprietà Identity in ordine crescente.

Questo esempio illustra come usare i parametri di paging avanzati in una query. Il comando restituisce i primi 500 messaggi nel server specificato. I risultati vengono ordinati prima in ordine crescente in base all'indirizzo del mittente e quindi in ordine decrescente in base alle dimensioni del messaggio.

Get-Message -Server mailbox01.contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size

Questo esempio restituisce i primi 500 messaggi nel server specificato nell'ordinamento specificato, imposta un oggetto bookmark, esclude l'oggetto bookmark dai risultati e recupera i successivi 500 messaggi nello stesso ordinamento.

  1. Eseguire il comando seguente per recuperare la prima pagina di risultati.

    $Results=Get-Message -Server mailbox01.contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size
    
  2. Per impostare l'oggetto bookmark, eseguire il comando seguente per salvare l'ultimo elemento della prima pagina in una variabile.

    $Temp=$Results[$results.length-1]
    
  3. Per recuperare i successivi 500 oggetti nel server specificato e per escludere l'oggetto bookmark, eseguire il comando seguente.

    Get-Message -Server mailbox01.contoso.com -BookmarkObject:$Temp -IncludeBookmark $false -ResultSize 500 -SortOrder +FromAddress,-Size