Lo spostamento o la migrazione delle cassette postali da un Exchange Server a un altro è un’attività abbastanza comune che gli amministratori devono eseguire spesso. In Exchange Server 2010 SP1 on-premises e versioni successive, gli amministratori possono utilizzare il cmdlet PowerShell New-MoveRequest per creare richieste di spostamento locali per spostare caselle di posta elettronica degli utenti, archivi e altre caselle di posta elettronica da un database a un altro all’interno della stessa organizzazione. Il cmdlet può essere utilizzato anche per spostare le caselle di posta dall’organizzazione Exchange on-premises a Exchange Online o Microsoft 365 e viceversa.
In questo articolo, imparerete a utilizzare il cmdlet New-MoveRequest per eseguire spostamenti o migrazioni di caselle di posta tra database di Exchange on-premises o da e verso Exchange Online (Office 365).
Prima di iniziare
Prima di utilizzare il cmdlet New-MoveRequest in Exchange on-premises e in Exchange Online, è necessario conoscere quanto segue.
- Per utilizzare la funzione New-MoveRequest, è necessario avere il ruolo Spostamento caselle di posta assegnato.
- È possibile utilizzare il cmdlet per spostare le caselle di posta all’interno di un’organizzazione Exchange on-premises nella stessa foresta Active Directory.
- Non si deve usare il cmdlet per spostare le cassette postali all’interno di un’organizzazione di Exchange Online.
- È possibile utilizzare il cmdlet per spostare una o più caselle postali contemporaneamente.
- È necessario utilizzare un file CSV per migrare più cassette postali nel database di destinazione all’interno della stessa foresta o di Exchange Online.
- Il cmdlet funziona in Exchange Server 2010 SP1, Exchange Server 2013, Exchange Server 2016 e Exchange Server 2019.
Utilizzo del comando New-MoveRequest in Exchange Server
Ecco come utilizzare il cmdlet New-MoveRequest per spostare le cassette postali nella stessa foresta e da o verso Exchange Online.
Assegnare i ruoli e i permessi necessari
Aprite Exchange Management Shell (EMS) ed eseguite i seguenti comandi per visualizzare i ruoli e le autorizzazioni necessarie per l’esecuzione del cmdlet.
$Perms = Get-ManagementRole -Cmdlet New-MoveRequest
$Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-Table -Auto Role,RoleAssigneeType,RoleAssigneeName}
Quindi utilizzate il cmdlet New-ManagementRoleAssignment o Exchange Admin Center (EAC) per assegnare il ruolo richiesto all’account utente che userete per spostare le caselle di posta.
New-ManagementRoleAssignment -Role “Move Mailboxes” -User yourusername /yourusername
Una volta assegnati i ruoli e le autorizzazioni necessarie, è possibile eseguire e utilizzare New-MoveRequest per creare una richiesta di spostamento della cassetta postale per spostare o migrare le cassette postali degli utenti o altre cassette postali in un altro database o in Exchange Online.
Spostare le caselle di posta in un altro database nella stessa foresta
Utilizzando il seguente comando PowerShell New-MoveRequest, è possibile creare una nuova richiesta di spostamento di mailbox menzionando il nome della mailbox di origine (identità) e il database della mailbox di destinazione nella stessa foresta.
New-MoveRequest -Identity /useridentity -TargetDatabase targetdatabase -TargetMailboxDatabase /targetmailboxdatabase /targetmailboxdatabase /targetdatabase /useridentity
Per esempio,
New-MoveRequest -Identity ‘ravi@test.local’ -TargetDatabase “MBXDB03” -WhatIf
Utilizzando il parametro -WhatIf, è possibile testare il cmdlet prima di creare effettivamente la richiesta di spostamento. Il parametro aiuta a verificare l’azione del comando, se è valida e cosa farà.
New-MoveRequest -Identity ‘ravi@test.local’ -TargetDatabase “MBXDB03”
In questo modo si sposterà la casella di posta elettronica ‘ravi‘ (memorizzata nel database MBXDB01) in MBXDB03.
Per spostare più caselle postali contemporaneamente, è possibile utilizzare il cmdlet PowerShell Get-Mailbox con il cmdlet New-MoveRequest. Ad esempio,
Get-Mailbox -Database MBXDB01 | New-MoveRequest -TargetDatabase MBXDB03 -BatchName “MBXDB01toMBXDB03”
Spostare le caselle di posta elettronica in Exchange Online (Microsoft 365)
Per spostare le caselle di posta elettronica da on-premises a Exchange Online, sono necessari i seguenti dettagli:
- -Identità: Nome della casella di posta o indirizzo e-mail.
- -NomeRemoteHost: È possibile ottenere questo dato utilizzando il comando Get-MigrationEndpoint
- -Dominio di destinazione: Il dominio SMTP primario utilizzato nell’organizzazione per le caselle di posta elettronica di Exchange Online.
- -Credenziali remote: Credenziali dell’amministratore globale o credenziali di un utente con il ruolo “Sposta caselle di posta” assegnato.
Seguite questi passaggi per spostare le cassette postali dal database delle cassette postali on-premises a Microsoft 365 o Exchange Online.
- In Exchange Management Shell, eseguire il seguente comando per modificare il criterio di esecuzione. Set-ExecutionPolicy RemoteSigned
Premere Y e premere Invio per confermare.
- Installare il modulo Exchange Online Management.
Installare il modulo -Nome Gestione di Exchange Online
- Se richiesto, premere i tasti Y e Invio per procedere.
- Collegarsi a Exchange Online.
Connettersi-ScambiareOnline
- Apparirà un nuovo pop. Inserire le credenziali per accedere.
- Eseguite quindi il seguente comando per spostare la cassetta postale su Exchange Online (Microsoft 365).
New-MoveRequest -Identity “ravi@abc.com” -Remote -RemoteHostName “dh57faz6shw1-f2b3-4e51g.resource.mailboxmigration.his.msappproxy.net” -TargetDeliveryDomain “domain.mail.onmicrosoft.com” -TargetDeliveryDomain “domain.mail.onmicrosoft.com” -RemoteCredential (Get-Credential domain\administrator)
Come verificare se la casella di posta è stata spostata con successo?
Per verificare se la richiesta di spostamento è andata a buon fine e se la casella postale è stata spostata nel database della casella desiderata, eseguire il seguente comando:
Get-MoveRequestStatistics -Identity ravi
Verrà visualizzato StatusDetail e PercentComplete.
È inoltre possibile utilizzare il cmdlet Get-MoveRequest per verificare lo stato o l’avanzamento dello spostamento.
Ottieni-Richiesta di spostamento
Per verificare lo stato della richiesta di spostamento di più caselle postali, eseguire il seguente comando:
Get-MoveRequest -BatchName “MBXDB01toMBXDB03”
Se lo stato viene visualizzato come completato, significa che la cassetta postale è stata spostata con successo nel database desiderato o in Exchange Online.
Conclusione
In questo articolo avete appreso come utilizzare il cmdlet PowerShell New-MoveRequest per spostare o migrare le cassette postali da un database a un altro database di cassette postali nella stessa foresta e in Exchange Online. In caso di problemi o se il comando non funziona con un’eccezione o un errore, è possibile consultare la documentazione Microsoft per la soluzione. Questa operazione potrebbe richiedere un impegno amministrativo e un certo tempo per completare la migrazione. Tuttavia, è possibile evitare questa seccatura utilizzando un EDB to PST converter software, come Stellar Converter for EDB. Il software è in grado di estrarre tutte le caselle di posta elettronica da una casella di posta elettronica online o offline e di salvarle in formato PST, che è possibile importare in Office 365. È anche possibile esportare direttamente le caselle postali da un database di caselle postali offline sul server Exchange on-premises a un altro database sullo stesso server o su un altro server nella stessa foresta. Il software può anche esportare cassette postali singole o multiple da Exchange on-premises a Office 365 o Exchange Online (Microsoft 365) direttamente in pochi clic.
Was this article helpful?