Spostamento delle cassette postali mediante l'utilizzo dello script MoveMailbox.ps1 nella Shell

Si applica a: Exchange Server 2010

Ultima modifica dell'argomento: 2009-12-08

Analogamente al cmdlet Move-Mailbox in Microsoft Exchange Server 2007, lo script MoveMailbox.ps1 fornisce la possibilità di utilizzare la gestione sincronizzata per lo spostamento delle cassette postali. Per impostazione predefinita, gli script vengono installati in C:\Programmi\Microsoft\Exchange Server\V14\Scripts.

Nota

È possibile utilizzare questo script solo per spostamenti locali. Non è possibile utilizzare questo script per gli spostamenti (tra insiemi di foreste) remoti. Per informazioni sugli spostamenti delle cassette postali remote, vedere Prepare Mailboxes for Cross-Forest Move Requests.

MoveMailbox.ps1 effettua le seguenti attività:

  1. Crea una richiesta di spostamento locale.
  2. Attende che lo spostamento delle cassette postali sia completato.
  3. Cancella la richiesta di spostamento dopo che questo sarà stato completato.

MoveMailbox.ps1 include due insiemi di parametro. Il primo insieme di parametri sposta un'unica cassetta postale oppure è possibile effettuare il pipeline delle cassette postali nel comando. Il secondo insieme di parametri sposta tutte le cassette postali ospitate su un database specifico oppure è possibile effettuare il pipeline degli oggetti di database nel comando per spostare tutte le cassette postali che si trovano sui database delle cassette postali.

Nota

Shell non carica automaticamente gli script. È necessario far precedere tutti gli script con ".</STRONG>" Ad esempio, per eseguire lo script MoveMailbox.ps1 script, immettere .\MoveMailbox.ps1.

Per ulteriori informazioni sull'utilizzo e la creazione degli script, vedere Scripting con Exchange Management Shell.

Per informazioni sulle altre attività di gestione relative alle richieste di spostamento, vedere Gestione richieste di spostamento.

Spostamento di specifiche cassette postali tramite MoveMailbox.ps1

È necessario assegnare le autorizzazioni prima di poter eseguire questo cmdlet. Per visualizzare quali autorizzazioni sono necessarie, vedere "Spostamento delle cassette postali" nell'argomento Autorizzazioni per la cassetta postale.

Il seguente insieme della sintassi dei parametri e tabella elenca i parametri che è possibile utilizzare per spostare cassette postali specifiche.

MoveMailbox.ps1 -Identity <Object> -DatabaseMap <Hashtable> -TargetDatabase <Object> [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]
Parametro Obbligatorio Descrizione

DatabaseMap

Obbligatorio

Il parametro DatabaseMap specifica la mappa dei database tra i quali ci si sposta. Utilizzare questo parametro se si utilizza il metodo del pipeline per identificare le cassette postali verso le quali ci si sta spostando. Il parametro DatabaseMap richiede le seguenti operazioni:

  • Utilizzare la seguente sintassi: @{"<SourceDatabase>"="<TargetDatabase>"}
  • Il nome SourceDatabase deve corrispondere al nome di database, come indicato dal cmdlet Get-Mailbox.
  • È possibile includere più mappe del database. Separare più mappe con un punto e virgola (;), ad esempio, @ {"DB1" = "DBA"; "DB2" = "DBB"}
Dd876878.note(it-it,EXCHG.140).gifNota:
Non è possibile utilizzare tale parametro insieme al parametroTargetDatabase. Se si sta effettuando il pipeline del comando e un utente ha un'identità corrispondente nel cmdletGet-Mailbox, ma non è corrispondente al database di origine nel cmdlet DatabaseMap, la cassetta postale di quell'utente verrà ignorata.

Identity

Obbligatorio

Il parametro Identity consente di specificare l'identità della cassetta postale che si desidera spostare. I valori validi per questo parametro sono i seguenti:

  • ADObjectID
  • Alias
  • Nome distinto (DN)
  • Domain\Account
  • GUID
  • LegacyExchangeDN
  • SmtpAddress
  • Nome principale utente (UPN)
Dd876878.note(it-it,EXCHG.140).gifNota:
È possibile effettuare il pipeline del parametro Identity utilizzando il cmdlet Get-Mailbox .

TargetDatabase

Obbligatorio

Il parametro TargetDatabase specifica l'identità del database in cui si desidera spostare la cassetta postale. I valori validi per questo parametro sono i seguenti:

  • GUID
  • Nome distinto (DN)
  • Nome server\database
  • Nome database
Dd876878.note(it-it,EXCHG.140).gifNota:
Non è possibile utilizzare tale parametro insieme al parametroDatabaseMap.

AutoSuspend

Facoltativo

L'opzione AutoSuspend consente di specificare se sospendere la richiesta di spostamento prima che raggiunga lo stato di CompletionInProgress. Dopo la sospensione dello spostamento, lo stato diventa AutoSuspended. Se si utilizza questo parametro, è necessario completare lo spostamento utilizzando il cmdlet Resume-MoveRequest.

BadItemLimit

Facoltativo

Il parametro BadItemLimit consente di specificare il numero di elementi non validi da ignorare se la richiesta di spostamento rileva un danneggiamento nella cassetta postale. Se non si desidera ignorare gli elementi danneggiati, utilizzare il valore 0. Utilizzare -1 per saltare un numero illimitato di elementi non validi. L'intervallo di input valido per questo parametro è compreso tra -1 e 2,147,483,647. Il valore predefinito è 0. Si consiglia di mantenere il valore predefinito 0 e di modificare il valore del parametro BadItemLimit solo se la richiesta di spostamento non riesce.

DomainController

Facoltativo

Il parametro DomainController consente di specificare il nome di dominio completo (FQDN) del controller di dominio che consente di scrivere questa modifica alla configurazione in Active Directory.

PollInterval

Facoltativo

Il parametro PollInterval specifica, in secondi, il tempo di attesa necessario per controllare se una richiesta di spostamento è completa. Ad esempio, se PollInterval è impostato su 180, lo script MoveMailbox.ps1 verificherà lo stato delle richieste di spostamento ogni 3 minuti per vedere se lo spostamento ha lo stato di Completato. Il valore predefinito è 10 secondi.

StartBatchSize

Facoltativo

Il parametro StartBatchSize specifica con quale frequenza avviare lo spostamento delle cassette postali allo scopo di equilibrare il carico. Il parametro si applica solo quando si spostano più cassette postali contemporaneamente. Ad esempio, se questo parametro è impostato su 10 e si stanno spostando 15 cassette postali, lo script richiamerà il cmdlet New-MoveRequest quando registrerà che 10 cassette postali sono in fase di spostamento verso lo stesso database di destinazione.

Esempi

ESEMPIO 1

In questo esempio le cassette postali che iniziano con "ay" vengono spostate. Se queste cassette postali si trovano sul database delle cassette postali DB1, questo esempio utilizza il parametro DatabaseMap per spostarle al database delle cassette postali DBA. In questo esempio, queste cassette postali vengono spostate sul database delle cassette postali DBB, quando si trovano su DB2.

Get-Mailbox ay* | .\MoveMailbox.ps1 -DatabaseMap @{"DB1"="DBA";"DB2"="DBB"}

ESEMPIO 2

In questo esempio, la cassetta postale di Tony Smith viene spostata sul DB2.

.\MoveMailbox.ps1 -Identity "Tony@Contoso.com" -TargetDatabase "DB2"

Spostamento delle cassette postali situate su uno specifico database tramite MoveMailbox.ps1

È necessario assegnare le autorizzazioni prima di poter eseguire questo cmdlet. Per visualizzare quali autorizzazioni sono necessarie, vedere "Spostamento delle cassette postali" nell'argomento Autorizzazioni per la cassetta postale.

Il seguente insieme della sintassi dei parametri e tabella elenca i parametri che sposteranno le cassette postali sulla base del database.

MoveMailbox.ps1 -MailboxDatabase <Object> [-DatabaseMap <Hashtable>] [-TargetDatabase <Object>] [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]

Parametro

Obbligatorio

Descrizione

MailboxDatabase

Obbligatorio

Il parametro MailboxDatabase consente di specificare il database delle cassette postali da cui vengono spostate le cassette postali.

I valori validi per questo parametro sono i seguenti:

  • GUID
  • Nome distinto (DN)
  • Server\nome database
  • Nome database
Dd876878.note(it-it,EXCHG.140).gifNota:
Non è possibile utilizzare tale parametro insieme al parametro DatabaseMap.

AutoSuspend

Facoltativo

L'opzione AutoSuspend consente di specificare se sospendere la richiesta di spostamento prima che raggiunga lo stato di CompletionInProgress. Dopo la sospensione dello spostamento, lo stato diventa AutoSuspended. Se si utilizza questo parametro, è necessario completare lo spostamento utilizzando il cmdlet Resume-MoveRequest.

BadItemLimit

Facoltativo

Il parametro BadItemLimit consente di specificare il numero di elementi non validi da ignorare se la richiesta di spostamento rileva un danneggiamento nella cassetta postale. Se non si desidera ignorare gli elementi danneggiati, utilizzare il valore 0. Utilizzare -1 per saltare un numero illimitato di elementi non validi. L'intervallo di input valido per questo parametro è compreso tra -1 e 2,147,483,647. Il valore predefinito è 0. Si consiglia di mantenere il valore predefinito 0 e di modificare il valore del parametro BadItemLimit solo se la richiesta di spostamento non riesce.

DatabaseMap

Facoltativo

Il parametro DatabaseMap specifica la mappa dei database tra i quali ci si sposta. Utilizzare questo parametro se si utilizza il metodo del pipeline per identificare le cassette postali verso le quali ci si sta spostando. Il parametro DatabaseMap richiede le seguenti operazioni:

  • Utilizzare la seguente sintassi: @{"<SourceDatabase>"="<TargetDatabase>"}
  • Il nome SourceDatabase deve corrispondere al nome di database, come indicato dal cmdlet Get-Mailbox .
  • È possibile includere più mappe del database. Separare più mappe con un punto e virgola (;), ad esempio, @ {"DB1" = "DBA"; "DB2" = "DBB"}
Dd876878.note(it-it,EXCHG.140).gifNota:
Non è possibile utilizzare tale parametro insieme al parametro TargetDatabase. Se si sta effettuando il pipeline del comando e un utente ha un'identità corrispondente nel cmdletGet-Mailbox, ma non è corrispondente al database di origine nel cmdlet DatabaseMap, la cassetta postale di quell'utente verrà ignorata.

DomainController

Facoltativo

Il parametro DomainController consente di specificare il nome di dominio completo (FQDN) del controller di dominio che consente di scrivere questa modifica alla configurazione in Active Directory.

PollInterval

Facoltativo

Il parametro PollInterval specifica, in secondi, il tempo di attesa necessario per controllare se una richiesta di spostamento è completa. Ad esempio, se PollInterval è impostato su 180, lo script MoveMailbox.ps1 verificherà lo stato delle richieste di spostamento ogni 3 minuti per vedere se la richiesta di spostamento ha lo stato Completata. Il valore predefinito è 10 secondi.

StartBatchSize

Facoltativo

Il parametro StartBatchSize specifica con quale frequenza avviare lo spostamento delle cassette postali allo scopo di equilibrare il carico. Il parametro si applica solo quando si spostano più cassette postali contemporaneamente. Ad esempio, se questo parametro è impostato su 10 e si stanno spostando 15 cassette postali, lo script richiamerà il cmdlet New-MoveRequest quando registrerà che 10 cassette postali sono in fase di spostamento verso lo stesso database di destinazione.

TargetDatabase

Facoltativo

Il parametro TargetDatabase specifica l'identità del database in cui si desidera spostare la cassetta postale. I valori validi per questo parametro sono i seguenti:

  • GUID
  • Nome distinto (DN)
  • Server\nome database
  • Nome database
Dd876878.note(it-it,EXCHG.140).gifNota:
Non è possibile utilizzare tale parametro insieme al parametro DatabaseMap.

Esempi

ESEMPIO 1

In questo esempio tutte le cassette postali che si trovano sul database delle cassette postali DB1 vengono spostate sul database DB2.

.\MoveMailbox.ps1 -MailboxDatabase DB1 -TargetDatabase DB2

ESEMPIO 2

In questo esempio si utilizza il cmdlet Get-MailboxDatabase per recuperare tutti gli oggetti del database della cassetta postale il cui database di cassetta postale inizia con "DB1", quindi viene effettuato il pipeline del risultato allo script MoveMailbox.ps1.

Get-MailboxDatabase DB1* | .\MoveMailbox.ps1 -DatabaseMap @{"DB10"=DBA;"DB11"="DBB";"DB12"="DBA"}