Utilizzo di Exchange Management Shell per la gestione delle code

 

Si applica a: Exchange Server 2010 SP2, Exchange Server 2010 SP3

Ultima modifica dell'argomento: 2015-03-09

In questo argomento viene descritto l'utilizzo dell'insieme dei cmdlet e dei parametri in Exchange Management Shell per creare una query, recuperare i risultati ed eseguire azioni di modifica. Per ulteriori informazioni sulle attività delle code e sul relativo utilizzo per il monitoraggio e la risoluzione dei problemi, vedere Informazioni sulle code di trasporto.

In MicrosoftExchange Server 2010, è possibile utilizzare Shell per eseguire attività di gestione e configurazione e per creare script per l'automatizzazione delle attività. Shell può anche essere utilizzata per visualizzare le informazioni sulle code presenti su un server e i messaggi contenuti in tali code, nonché per eseguire azioni di gestione sulle code stesse e sugli elementi di posta. Queste operazioni sono utili per la risoluzione dei problemi relativi al flusso di posta e per l'identificazione della posta indesiderata. Per ulteriori informazioni sull'utilizzo di Shell, vedere Utilizzo di PowerShell con Exchange 2010 (Exchange Management Shell).

Per informazioni sulle attività di gestione relative alle code, vedere Gestione delle code di trasporto.

Sommario

Gestione di code e messaggi

Cmdlet delle code

Insieme di parametri per le attività relative alle code

Gestione di code e messaggi

Le attività delle code sono raggruppate in due categorie:

  • Le azioni di visualizzazione consentono di visualizzare le code e i messaggi accodati sul server e di selezionare la modalità di raggruppamento e ordinamento dei dati quando vengono visualizzati.

  • Modificando le azioni si modifica lo stato di code e messaggi.

Entrambi i tipi di attività accedono ai dati eseguendo la connessione al processo di lavoro di trasporto tramite chiamate RPC (Remote Procedure Call).

Per impostazione predefinita, Visualizzatore code si concentra sul database delle code nel server a cui si connette per eseguire le attività. Tuttavia, è possibile connettersi a un server diverso da quello su cui sono in esecuzione le attività di Visualizzatore code.

Per ulteriori informazioni sul processo di trasporto di Exchange 2010, vedere Informazioni sulla pipeline di trasporto. Per ulteriori informazioni sull'utilizzo di Shell per visualizzare code e messaggi, vedereVisualizzazione delle code e Visualizzazione delle proprietà dei messaggi in coda.

Inizio pagina

Cmdlet delle code

Nella seguente tabella sono riportati i cmdlet disponibili in Shell per la gestione delle code e dei messaggi in esse contenuti. Per ulteriori informazioni su come utilizzare ciascun cmdlet, vedere gli argomenti della Guida elencati nella colonna Per ulteriori informazioni.

Cmdlet code

Cmdlet Sintassi Ulteriori informazioni

Export-Message

Consente di salvare la copia di un messaggio in un percorso file specificato dall'amministratore.

Export-Message

Esportazione dei messaggi dalle code

Get-Message

Con questo cmdlet vengono visualizzati i dettagli dei messaggi attualmente accodati per il recapito. È possibile utilizzare il cmdlet Get-Message per recuperare un insieme di messaggi ed eseguire il piping dei risultati a uno degli altri cmdlet di gestione dei messaggi.

Get-Message

Visualizzazione delle proprietà dei messaggi in coda

Get-Queue

Con questo cmdlet sono visualizzati i dettagli di configurazione delle code sui server di trasporto. Il cmdlet Get-Queue può essere utilizzato per recuperare un insieme di code ed eseguire il piping dei risultati a uno degli altri cmdlet di gestione delle code.

Get-Queue

Visualizzazione delle code

Remove-Message

Consente di eliminare un messaggio da una coda. È possibile scegliere di inviare o meno un rapporto di mancato recapito.

Remove-Message

Eliminazione dei messaggi dalle code

Resume-Message

Consente di riprendere il recapito di un messaggio precedentemente sospeso. È inoltre possibile utilizzare il cmdlet Resume-Message per reinviare i messaggi presenti nella coda dei messaggi non elaborabili alla coda Invio per la rielaborazione da parte dal classificatore.

Resume-Message

Ripresa dei messaggi

Reinvio dei messaggi in coda

Resume-Queue

Consente di riprendere il recapito dei messaggi da una coda precedentemente sospesa.

Resume-Queue

Ripresa delle code

Retry-Queue

Consente di imporre un tentativo di connessione di una coda il cui stato corrente è Riprova. Questa connessione tenta di annullare il successivo tentativo di esecuzione pianificato. Inoltre è possibile utilizzare il cmdlet Retry-Queue unitamente al parametro Resubmit e inviare i messaggi presenti nelle code di recapito o nella coda dei messaggi con destinatari non raggiungibili alla coda Invio per la rielaborazione da parte del classificatore.

Retry-Queue

Code dei tentativi

Reinvio dei messaggi in coda

Suspend-Message

Consente di sospendere il recapito di un messaggio che si trova nella coda di un server di trasporto di Exchange 2010.

Suspend-Message

Sospensione dei messaggi

Suspend-Queue

Consente di sospendere le attività in uscita per una coda presente su un server di trasporto di Exchange 2010.

Suspend-Queue

Sospensione code

Inizio pagina

Insieme di parametri per le attività relative alle code

Le attività delle code supportano più insiemi di parametri. Di seguito sono descritti tali insiemi di parametri: Identity, Filter e Queue. Gli insiemi di parametri Identity, Queue e Filter non possono essere combinati in un comando. L'insieme di parametri Queue è disponibile solo con i comandi relativi ai messaggi.

In combinazione con i parametri Identity, Queue e Filter, è inoltre possibile utilizzare i parametri di paging avanzati disponibili in Shell. I parametri di paging avanzati vengono utilizzati con i cmdlet Get-Message e Get-Queue per controllare la modalità di ordinamento e visualizzazione dell'insieme di risultati. I parametri di paging avanzati vengono descritti in una tabella in "Parametri di paging avanzato" più avanti in questo argomento.

È necessario utilizzare i parametri Identity, Queue e Filter, quando si utilizza un comando che modifica messaggi o code. Se non vengono forniti parametri, i cmdlet Get-Message e Get-Queue consentiranno di visualizzare ogni oggetto coda o messaggio presente sul server locale.

Se l'insieme di risultati di una query relativa a code o messaggi contiene più di 250.000 elementi, si verificherà un errore e verrà richiesto di applicare un filtro per ridurre il numero dei risultati.

Parametro Identity

Utilizzare il parametro Identity quando il messaggio o la coda specifica che si desidera visualizzare o modificare è nota. La ricerca per identità è più rapida rispetto alla formulazione della stessa query con un filtro.

Il nome del server può essere espresso come nome host o nome di dominio completo (FQDN, Fully Qualified Domain Name). È possibile immettere il nome di un server remoto come parte dell'identità per avviare una connessione RPC a tale server e poter eseguire query nelle relative code. Se non viene utilizzato un nome server, verrà considerato implicitamente l'host locale.

Quando viene fornita un'identità a un'azione di modifica, l'oggetto identificato deve essere completamente definito e univoco. Se l'identità non è esplicita, l'azione non verrà eseguita. Se viene omessa la parte server dell'identità, verrà considerato implicitamente il computer locale.

Quando viene utilizzato come parte di un cmdlet Get-Queue o Get-Message, il parametro Identity supporta l'utilizzo di espressioni con caratteri jolly.

Identità delle code

Le code permanenti dispongono di nomi univoci e possono essere specificate in base al nome. Alle code di recapito viene assegnata un'identità di database univoca. Per specificare una coda, è possibile utilizzare l'identità di database oppure il nome della destinazione di recapito. Per eseguire un'operazione su una coda specificando la relativa identità di database univoca, è necessario prima eseguire il cmdlet Get-Queue. L'identità di database verrà restituita nei risultati. I formati di identità validi per le code sono riportati nella tabella seguente.

Formati di identità della coda

Formato di identità della coda Sintassi

Server\QueueJetID (Int64)

Identità completa e univoca di una coda di recapito.

\QueueJetID

Identità di una coda sul server locale. Il nome server è stato omesso. Pertanto, viene considerato implicitamente il server locale.

Server\*

Qualsiasi coda nel server specificato.

Server\NextHopDomain

Coda sul server specificato che contiene messaggi per il recapito a un dominio remoto specifico.

\NextHopDomain

Coda sul server locale contenente messaggi destinati a un dominio specifico.

Server\Poison

Coda Messaggi non elaborabili situata sul server specificato.

Server\Submission

Coda che contiene elementi in attesa di elaborazione da parte del classificatore.

Server\Unreachable

Coda sul server specificato che contiene elementi che non possono essere instradati.

La seguente coda è un esempio di come utilizzare l'identità di una coda con il cmdlet Get-Queue. In questo esempio viene riportato un elenco di tutte le code contenenti messaggi per il recapito ai nomi di dominio SMTP (Simple Mail Transfer Protocol) che terminano in Contoso.com. Inoltre, l'esempio consente di visualizzare gli insiemi di risultati nel formato di un elenco dettagliato.

Get-Queue -Identity Server\*Contoso.com | format-list

Identità dei messaggi

L'identità di un messaggio è un'aggregazione dell'elemento posta del database univoco e dell'identità della coda. Ad un messaggio viene assegnata un'identità, nel formato di un numero intero, quando questo viene inserito nel database ESE (Extensible Storage Engine) (il precedente JET) e il numero intero viene aggiunto all'identità della coda per creare l'identità del messaggio.

Per eseguire un'operazione su un messaggio specificando la relativa identità di database, è necessario prima eseguire il cmdlet Get-Message. L'identità viene restituita nei risultati. Per connettersi a un server remoto, è possibile includere il nome server come parte dell'identità del messaggio. Se il nome server viene omesso, viene considerato implicitamente il server locale.

Un messaggio inviato a più destinatari potrebbe essere situato in più code. È possibile utilizzare un carattere jolly per specificare che si desidera inserire il messaggio in ogni coda a cui è stato instradato. Nella tabella seguente vengono forniti esempi di identità dei messaggi valide.

Formati di identità del messaggio

Formato di identità del messaggio Sintassi

Server\QueueJetId\MessageJetID

Denominazione completa di un messaggio in una coda.

Server\Poison\MessageJetID

Messaggio situato in una coda di messaggi non elaborabili.

MessageJetID

Tutti i messaggi che presentano l'identità del database e vengono instradati a una coda sul server locale (un singolo messaggio instradato a più code).

Server\*\MessageJetID

Tutti i messaggi che presentano l'identità del database e vengono instradati a una coda sul server specificato.

La seguente coda è un esempio di come utilizzare l'identità di un messaggio con il cmdlet Get-Message. L'esempio restituisce un elenco di tutti i messaggi che presentano l'identità specificata e che sono situati in una coda sul server specificato. Inoltre, questo esempio consente di visualizzare l'insieme di risultati nel formato di un elenco dettagliato:

Get-message -Identity Server\*\1234 | Format-List

Parametro Filter

Le attività delle code supportano il parametro Filter per consentire la definizione di criteri per il recupero delle code e dei messaggi. Le proprietà dei messaggi e delle code vengono utilizzate come criteri per il filtro. Creare un filtro per visualizzare un set limitato di code o messaggi. Dopo avere individuato le code e i messaggi da monitorare, è possibile visualizzare le informazioni relative alle proprietà di ciascun oggetto. Queste informazioni sono utili durante risoluzione di problemi relativi al flusso di posta.

Utilizzare il parametro Filter per fornire un'espressione con operatori logici e relazionali in modo che vengano visualizzati solo gli oggetti coda e messaggio che soddisfano i criteri del filtro. È possibile utilizzare l'operatore logico -and per specificare più condizioni cui associare i risultati. Se viene utilizzato l'operatore -and, verranno visualizzati solo gli oggetti associati a tutte le condizioni specificate dell'espressione. Per specificare i criteri del filtro, viene utilizzato un sottoinsieme delle proprietà di un messaggio o di una coda. Devono essere specificate proprietà valide per l'oggetto di cui viene eseguita la query e il valore da associare deve essere espresso utilizzando la sintassi corretta. Se il valore di una proprietà non viene espresso nel formato di un numero intero singolo, assicurarsi che il valore venga racchiuso tra virgolette.

Il parametro Server può essere incluso in un comando insieme al parametro Filter. Utilizzare il parametro Server per specificare il nome host o FQDN del server a cui si desidera connettersi utilizzando una chiamata RPC per eseguire la query nelle code e nei messaggi presenti sul server e recuperare un insieme di risultati.

Per ulteriori informazioni sulle proprietà utilizzabili per il filtro, sulla sintassi corretta per tali proprietà e sugli operatori supportati, vedere gli argomenti riportati di seguito:

Parametri coda

Il parametro Queue viene utilizzato solo con i comandi relativi ai messaggi. Utilizzare questo parametro per specificare l'identità della coda da cui vengono recuperati i messaggi. Se si specifica una coda, vengono recuperati tutti i messaggi che contiene. È possibile recuperare tutti i messaggi da una determinata coda senza dover utilizzare un'espressione del filtro. È possibile recuperare messaggi presenti in più code utilizzando un carattere jolly.

Quando si utilizza il parametro Queue con un comando di un messaggio, utilizzare il formato di identità della coda dalla tabella "Identità coda" riportata in precedenza in questo argomento. Nel seguente esempio relativo alle code viene illustrato come utilizzare il parametro Queue con un cmdlet Get-Message. L'esempio genera un insieme di risultati contenente solo messaggi situati sul server specificato e accodati per il recapito al dominio SMTP Contoso.com:

Get-message -Queue Server\Contoso.com

Parametri di paging avanzati

In base al flusso di posta corrente, le query relative a code e messaggi possono restituire un insieme di oggetti di notevoli dimensioni. È possibile utilizzare i parametri di paging avanzati per controllare come verranno recuperati e visualizzati i risultati delle query.

Quando si utilizza Shell per visualizzare le code e i relativi messaggi, viene recuperata una pagina di informazioni alla volta. I parametri di paging avanzati consentono di controllare la dimensione dell'insieme di risultati, ma anche di ordinarli. Tutti i parametri di paging avanzati sono facoltativi e possono essere combinati con qualsiasi insieme di parametri utilizzabile con i 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à relativa all'identità del messaggio viene sempre inclusa e ordinata in ordine crescente. Questa è la relazione di ordinamento predefinita. Viene inclusa la proprietà dell'identità del messaggio poiché le altre proprietà che possono essere incluse in un ordinamento non sono univoche. Includendo esplicitamente nell'ordinamento la proprietà relativa all'identità del messaggio, è possibile specificare che nei risultati l'identità del messaggio venga ordinata in ordine decrescente.

I parametri BookmarkIndex e BookmarkObject consentono di segnare una posizione nell'insieme di risultati ordinato. Se l'oggetto segnalibro non esiste più quando viene recuperata la pagina successiva di risultati, la relazione di ordinamento predefinita garantisce che l'insieme di risultati inizi dall'oggetto più vicino al segnalibro. L'oggetto più vicino dipende dall'ordinamento specificato.

Nella tabella seguente sono descritti i parametri di paging avanzati.

Parametri di paging avanzati

Parametro Descrizione

BookmarkIndex

Il parametro BookmarkIndex consente di specificare la posizione nell'insieme di risultati da cui iniziano i risultati visualizzati. Il valore del parametro BookmarkIndex è un indice in base 1 nel set di risultati totale. Se il valore è inferiore o uguale a zero, verrà restituita la prima pagina completa dei risultati. Se il valore è impostato su Int.MaxValue, verrà restituita l'ultima pagina completa dei risultati.

BookmarkObject

Il parametro BookmarkObject consente di specificare l'oggetto nell'insieme di risultati da cui iniziano i risultati visualizzati. Una volta specificato, l'oggetto segnalibro viene utilizzato come punto per iniziare la ricerca. Verranno recuperate le righe precedenti o successive all'oggetto, in base al valore del parametro SearchForward. Non è possibile combinare il parametro BookmarkObject e il parametro BookmarkIndex in una singola query.

IncludeBookmark

Il parametro IncludeBookmark consente di specificare se includere l'oggetto segnalibro nell'insieme di risultati. Per impostazione predefinita, questo valore è impostato su $true e l'oggetto segnalibro è incluso. È possibile eseguire una query relativa a una dimensione dei risultati limitata e specificare l'ultimo elemento nell'insieme di risultati come segnalibro per la query successiva. In questo caso, è possibile impostare IncludeBookmark su$false in modo che l'oggetto non sia incluso in entrambi gli insiemi di risultati.

ResultSize

Il parametro ResultSize consente di specificare 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 2010 limita l'insieme di risultati a 250.000.

ReturnPageInfo

ReturnPageInfo è 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

Il parametro SearchForward consente di specificare se cercare verso l'alto o verso il basso nell'insieme di risultati. Questo parametro non influisce sull'ordine in cui viene restituito l'insieme di risultati. Consente di determinare la direzione della ricerca in relazione all'oggetto o all'indice del segnalibro. Se questi non vengono specificati, il parametro SearchForward consente di determinare se la ricerca inizia dal primo o dall'ultimo oggetto nell'insieme di risultati.

Il valore predefinito per questo parametro è $true. Se il parametro SearchForward è impostato su $true e viene specificato un segnalibro, la query esegue una ricerca verso il basso a partire dal segnalibro. Se si utilizza questa configurazione e non è presente alcun risultato oltre il segnalibro, la query restituisce l'ultima pagina completa di risultati.

Se il parametro SearchForward è impostato su $false e viene specificato un segnalibro, la query esegue una ricerca verso l'alto a partire dal segnalibro. Se si utilizza questa configurazione ed è presente meno di una pagina completa di risultati oltre il segnalibro, la query restituisce la prima pagina completa di risultati.

SortOrder

Il parametro SortOrder consente di specificare una matrice di proprietà dei messaggi utilizzate per controllare l'ordinamento dell'insieme di risultati. Le proprietà dell'ordinamento sono specificate in ordine decrescente in base alla priorità. Ogni proprietà è separata da una virgola e presenta il simbolo del segno più (+) per l'ordine crescente oppure il simbolo del segno meno (-) per l'ordine decrescente.

Se non viene specificato un ordinamento in modo esplicito tramite questo parametro, i record che soddisfano la query vengono visualizzati e ordinati in base al campo Identità del relativo tipo di oggetto. Quando l'ordinamento non viene specificato in modo esplicito, i risultati vengono sempre ordinati in base all'identità in ordine crescente.

Nel seguente esempio di codice viene illustrato come utilizzare i parametri di paging avanzati in una query. In questo esempio, il comando esegue la connessione al server specificato e recupera un insieme di risultati contenente 500 oggetti. I risultati vengono visualizzati in base a un ordinamento, prima in ordine crescente per indirizzo del mittente, quindi in ordine decrescente per dimensione del messaggio:

Get-message -Server Exchange.Contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size

Per visualizzare le pagine successive, è possibile impostare un segnalibro per l'ultimo oggetto recuperato in un insieme di risultati ed eseguire un'ulteriore query. Per completare la procedura, è necessario utilizzare le funzionalità di scripting di Shell.

Nell'esempio riportato di seguito viene utilizzato lo scripting per recuperare la prima pagina di risultati, impostare l'oggetto segnalibro, escludere l'oggetto segnalibro dall'insieme di risultati e recuperare i 500 oggetti successivi sul server specificato.

  1. Aprire Shell e digitare il seguente comando per recuperare la prima pagina di risultati:

    $Results=Get-message -Server Exchange.Contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size
    
  2. Per impostare l'oggetto segnalibro, digitare il seguente comando per salvare l'ultimo elemento della prima pagina in una variabile:

    $temp=$results[$results.length-1]
    
  3. Per recuperare i 500 oggetti successivi sul server specificato e per escludere l'oggetto segnalibro, digitare il seguente comando:

    Get-message -Server Exchange.Contoso.com -BookmarkObject:$temp -IncludeBookmark $False -ResultSize 500 -SortOrder +FromAddress,-Size
    

Inizio pagina

 ©2010 Microsoft Corporation. Tutti i diritti riservati.