martedì 18 aprile 2017

MS Exchange: Riparare una casella di posta danneggiata

A partire da Exchange 2010 SP1 è stato introdotto il cmdlet New-MailboxRepairRequest che consente di rilevare e correggere problemi presenti su una casella di posta. Il comando può essere eseguito su una specifica casella di posta oppure su un intero database.

La riparazione della casella/database avviene online: non è più necessario procedere al dismount del database per la riparazione. L'accesso alla casella viene interrotto solo durante la sua riparazione. Nel caso in cui il comando venga eseguito su un intero database, l'accesso viene interrotto solo sulla casella in fase di riparazione mentre le altre continueranno ad essere accessibili.

La sintassi  è la seguente:
New-MailboxRepairRequest -Mailbox <MailboxIdParameter> [-Archive <SwitchParameter>] -CorruptionType <MailboxCorruptionType[]> [-Confirm [<SwitchParameter>]]

oppure

New-MailboxRepairRequest -Database <DatabaseIdParameter> [-StoreMailbox <StoreMailboxIdParameter>] -CorruptionType <MailboxCorruptionType[]> [-Confirm [<SwitchParameter>]]


Parametri Principali


  • CorruptionType
    Tale parametro è obbligatorio e consente di specificare il tipo di problema che si intende rilevare e correggere. I valori accettati sono
    SearchFolder  : Verifica e ripara la cartella di ricerca.
    AggregateCounts : Verifica che i conteggi di aggregazione sulle cartelle riflettano valori corretti.
    ProvisionedFolder : Verifica e ripara la struttura delle cartelle.
    FolderView :Verifica e ripara le viste delle cartelle che non restituiscono il contenuto corretto.

    Per specificare più tipi di errori che si intendono correggere basta indicarli separandoli con una virgola.

  • Database
    È obbligatorio specificare tale parametro a meno che non venga indicata una determinata casella. Come è facile intuire, tale parametro permette di specificare il database su cui eseguire il comando. In tale caso la ricerca e riparazione verranno eseguite su tutte le caselle presenti all'interno del database specificato. Per questioni di prestazioni è possibile avere attiva una sola richiesta di riparazione database.
    Non è possibile utilizzare questo parametro insieme al parametro Mailbox.
    Al parametro va passato il nome del database oppure il GUID.

  • Mailbox
    Il parametro Mailbox specifica la casella di posta su cui eseguire questo comando. Il parametro accetta uno dei seguenti valori:
    GUID
    Nome distinto (DN)
    Dominio\Account
    Nome dell'entità utente
    LegacyExchangeDN
    Indirizzo SMTP
    Alias

    Non è possibile utilizzare tale parametro insieme al parametro Database.

  • Archive
    Il parametro Archive indica che la verifica e la riparazione vanno eseguite sull'archivio online associato alla casella di posta specificata. Se il parametro non viene indicato, verrà verificata e riparata solo la casella di posta principale.
    Non è possibile utilizzare questo parametro insieme al parametro Database.

  • StoreMailbox
    Tale parametro consente di specificare il GUID della mailbox che si desidera ripristinare. Va utilizzato con il parametro Database. Per conoscere il GUID di una casella di posta eseguire il cmdlet Get-MailboxStatistics.

  • DetectOnly
    Il parametro DetectOnly indica che il comando deve segnalare gli errori senza correggerli.


Esempi


Esempio 1
New-MailboxRepairRequest –Mailbox giovanni.lubrano@contoso.com –CorruptionType SearchFolder, AggregateCounts, ProvisionedFolder, FolderView
Il comando esegue la verifica e la riparazione della mailbox specificata (giovanni.lubrano@contoso.com). Come si nota dal comando, al parametro CorruptionType sono stati passati tutti i valori possibili separati da una virgola.
New-MailboxRepairRequest, richiesta di riparazione mailbox
FIG 1 - New-MailboxRepairRequest, richiesta di riparazione mailbox


Esempio 2
New-MailboxRepairRequest -Mailbox giovanni.lubrano@contoso.com -CorruptionType SearchFolder -DetectOnly
Con tale comando vengono rilevati e segnalati eventuali problemi sulla cartella di ricerca. Non viene effettuata alcuna riparazione della casella di posta.


Esempio 3
New-MailboxRepairRequest -Database DB01 -CorruptionType FolderView
Il comando permette di rilevare e riparare gli errori di tipo FolderView su tutte le caselle che risiedono sul database DB01.


Esempio 4
New-MailboxRepairRequest -Mailbox giovanni.lubrano@contoso.com -CorruptionType ProvisionedFolder, SearchFolder, AggregateCounts, Folderview -Archive
Il comando permette di rilevare e riparare tutti i tipi di errori sull'archivio online connesso alla casella di posta indicata.



Output

Il cmdlet New-MailboxRepairRequest non restituisce alcun output sull'esito dell'operazione. Una volta lanciato il comando questo viene accodato ad eventuali altre richieste. Per visualizzare informazioni sull'esito dell'operazione è possibile procedere in 2 modi: tramite il registro eventi di Windows oppure utilizzando il cmdlet Get-MailboxRepairRequest.
  • Tramite registro eventi
  • Per visualizzare l'esito dell'operazione tramite il registro eventi è necessario aprire il registro Applicazione del registro eventi sul Server Exchange dove risiede la casella di posta. All'interno del registro è necessario ricercare gli eventi che hanno come origine la dicitura MSExchangeIS Mailbox. All'interno dell'evento la mailbox viene indicata con il GUID. L'ID evento varia a seconda dell'esito dell'operazione:
    ID EventoDescrizione
    10044La richiesta di ripristino delle cassette postali non è riuscita per le cartelle di provisioning. Questo ID evento viene creato insieme all'ID evento 10049.
    10045La richiesta di ripristino del database non è riuscita per le cartelle di provisioning. Questo ID evento viene creato insieme all'ID evento 10049.
    10046La richiesta di ripristino delle cartelle di provisioning è stata completata.
    10047La richiesta di ripristino a livello di cassetta postale è stata avviata.
    10048La richiesta di ripristino del database o della cassetta postale è stata completata.
    10049La richiesta di ripristino del database o della cassetta postale non è riuscita perché Exchange ha rilevato un problema a livello di database o un'altra attività è in esecuzione nel database. Per risolvere il problema, fare quanto segue:
    1. Eseguire nuovamente il comando.
    2. Se il problema persiste, eseguire Eseutil (Utilità database Exchange Server) per verificare la presenza di errori nell'unità.
    3. Eseguire Microsoft Exchange Troubleshooting Assistant v1.1 (ExTRA) con la proprietà tagISINTEG. Salvare le informazioni di tracciamento del registro ExTRA e contattare il servizio di supporto Microsoft.
    10050Non è stato possibile eseguire la richiesta di ripristino nel database perché quest'ultimo non supporta la tipologia di errore specificata nel comando. Questo problema può verificarsi se si esegue il comando da un server su cui è installata una versione di Exchange successiva a quella del database analizzato.
    10051La richiesta di ripristino del database è stata annullata perché il database è stato disinstallato.
    10059La richiesta di ripristino a livello di database è stata avviata.
    10062Sono stati rilevati dati danneggiati. Controllare i dettagli nel registro di ripristino per individuare il tipo di errore e se è stato corretto.


  • Tramite Get-MailboxRepairRequest
    Con MS Exchange 2013 è stato introdotto il cmdlet Get-MailboxRepairRequest che consente di reperire informazioni sull'esito/stato di una richiesta di riparazione.
    La sintassi è molto semplice
    Get-MailboxRepairRequest -Identity <StoreIntegrityCheckJobIdParameter>
    Get-MailboxRepairRequest -Database <DatabaseIdParameter>
    Get-MailboxRepairRequest -Mailbox <MailboxIdParameter>

    Con il parametro Identity va indicato un GUID complesso generato nel momento della richiesta (Il formato è <DatabaseGuid>\<RequestGuid>\<JobGuid>) mentre con i parametri Mailbox e Database vanno indicati rispettivamente la mailbox e il database su cui è stata effettuata la richiesta di riparazione.
    Get-MailboxRepairRequest, reperire l'esito della richiesta di riparazione
    FIG 2 - Get-MailboxRepairRequest, reperire l'esito della richiesta di riparazione

    Per visualizzare maggiori dettagli è possibile formattare l'output con Format-List ad es.
    Get-MailboxRepairRequest -Mailbox giovanni.lubrano@contoso.com |fl

    GetMailboxRepairRequest, maggiori informazioni con Format-List
    FIG 3 - GetMailboxRepairRequest, maggiori informazioni con Format-List






Nessun commento:

Posta un commento

I messaggi sono soggetti a moderazione da parte dell'amministratore prima della loro pubblicazione.