Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile usare PowerShell per spostare cassette postali, oltre all'interfaccia di amministrazione di Exchange (EAC).
Spostare le cassette postali locali in un'organizzazione di Exchange Online
Per spostare una cassetta postale locale in Exchange Online tramite PowerShell, eseguire i passaggi seguenti:
Connettersi a PowerShell di Exchange Online: Avviare PowerShell come amministratore e connettersi a PowerShell di Exchange Online eseguendo il comando seguente:
PS C:\> Connect-ExchangeOnlineTrovare l'URL del server remoto dell'endpoint di migrazione: ottenere l'URL del server remoto usando il cmdlet Get-MigrationEndpoint .
Get-MigrationEndpoint | Format-List Identity, RemoteServerViene visualizzato l'output seguente:
PS C:\> Get-MigrationEndpoint | Format-List Identity, RemoteServer Identity : Hybrid Migration Endpoint - EWS (Default Web Site) RemoteServer : <GUID>.resource.mailboxmigration.his.msappproxy.netNota
Il valore RemoteServer nell'output della sintassi del comando precedente viene generato eseguendo la procedura guidata di configurazione ibrida (HCW).
Copiare il valore di RemoteServer in base alle esigenze nella parte successiva.
Nota
Il valore di RemoteServer visualizzato nella sintassi del comando di output precedente viene generato quando l'utente seleziona Usa topologia ibrida moderna di Exchange nella pagina Topologia ibrida .
Creare una nuova richiesta di spostamento per spostare le cassette postali primarie e di archiviazione in Exchange Online tramite PowerShell
Compilare i dettagli seguenti per creare una nuova richiesta di spostamento per spostare la cassetta postale principale e la cassetta postale di archiviazione in Exchange Online:
- Identità: nome della cassetta postale o indirizzo di posta elettronica.
- RemoteHostName: il server remoto copiato nel passaggio 2.
- TargetDeliveryDomain: dominio SMTP primario usato per le cassette postali dell'organizzazione di Exchange Online.
- RemoteCredential: account amministratore locale con privilegi.
Dopo aver eseguito il comando, viene visualizzata una richiesta di accesso per le credenziali.
New-MoveRequest -Identity "Maisha.Lee@contoso.com" -Remote -RemoteHostName "mail.contoso.com" -TargetDeliveryDomain "<domain>.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)Immettere la password delle credenziali locali (RemoteCredential).
Spostare più cassette postali in Exchange Online tramite PowerShell
Creare un file CSV denominato Users.csv e inserirlo nella directory C:\migration.
Aprire il file CSV, assegnare alla colonna di intestazione il nome EmailAddress e inserire tutte le cassette postali che si desidera spostare in Exchange Online.
Copiare lo script seguente e modificare le prime 3 righe. A questo punto, eseguire lo script.
$Mailboxes = Import-Csv "C:\Migration\Users.csv" $RemoteHostName = "mail.contoso.com" $TargetDeliveryDomain = "<domain>.mail.onmicrosoft.com" $OnPremCred = (Get-Credential) # Move mailboxes in CSV file to Exchange Online foreach ($Mailbox in $Mailboxes) { $params = @{ Identity = $mailbox.EmailAddress Remote = $true RemoteHostName = $RemoteHostName TargetDeliveryDomain = $TargetDeliveryDomain RemoteCredential = $OnPremCred } New-MoveRequest @params }
Spostare solo la cassetta postale principale in Exchange Online usando PowerShell
Esiste uno scenario in cui il percorso della cassetta postale di archiviazione è in Exchange Online e il percorso della cassetta postale principale è in Exchange locale ed è possibile eseguire il comando seguente:
$Mailboxes = Import-Csv "C:\Migration\Users.csv" $RemoteHostName = "mail.contoso.com" $TargetDeliveryDomain = "<domain>.mail.onmicrosoft.com" $OnPremCred = (Get-Credential) # Move mailboxes in CSV file to Exchange Online foreach ($Mailbox in $Mailboxes) { $params = @{ Identity = $mailbox.EmailAddress Remote = $true RemoteHostName = $RemoteHostName TargetDeliveryDomain = $TargetDeliveryDomain RemoteCredential = $OnPremCred } New-MoveRequest @params }Il risultato è che viene visualizzato il messaggio di errore seguente, che fa parte della sintassi del comando più ampia visualizzata dopo il messaggio di errore:
You must specify the PrimaryOnly parameter Target user ‘XXXXXX’ already has an archive mailbox.PS C:\> New-MoveRequest -Identity "Maisha.Lee@contoso.com" -Remote -RemoteHostName "mail.contoso.com" -TargetDeliveryDomain "<domain>.mail.onmicrosoft.com" -RemoteCredential (Get-Credential) You must specify the PrimaryOnly parameter. Target user 'Maisha Lee' already has an archive mailbox. + CategoryInfo : NotSpecified: (:) [New-MoveRequest], MailboxReplicationPermanentException + FullyQualifiedErrorId : [Server=PAXP190MB1743,RequestId=3f8179c3-aa93-453f-9e14-d824968f34c4,TimeStamp=5/28/2022 7:19:13 AM] [FailureCategory=Cmdlet-MailboxReplicationPermanentException] FE8B9422,Microsoft.Exchange.Management. Migration.MailboxReplication.MoveRequest.NewModernMoveRequest + PSComputerName : outlook.office365.comQuando viene visualizzato il messaggio di errore, esegui i passaggi seguenti:
Aggiungere il
-PrimaryOnlyparametro alla sintassi del comando precedente per risolvere l'errore quando si crea una nuova richiesta di spostamento per spostare la cassetta postale principale solo in Exchange Online.Compila i seguenti dettagli:
- Identità: nome della cassetta postale o indirizzo di posta elettronica.
- RemoteHostName: il server remoto copiato nel passaggio 2.
- PrimaryOnly: mantiene vuoto il valore.
- TargetDeliveryDomain: dominio SMTP primario usato per le cassette postali dell'organizzazione di Exchange Online.
- RemoteCredential: account amministratore locale con privilegi.
Dopo aver eseguito il comando per una nuova richiesta di spostamento, viene visualizzata una richiesta di accesso per le credenziali, come illustrato nella sintassi del comando seguente:
New-MoveRequest -Identity "Maisha.Lee@contoso.com" -Remote -RemoteHostName "mail.contoso.com" -PrimaryOnly -TargetDeliveryDomain "<domain>.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)Immettere la password delle credenziali locali (RemoteCredential).
Spostare solo la cassetta postale di archiviazione in Exchange Online usando PowerShell
PS C:\> New-MoveRequest -Identity "Maisha.Lee@contoso.com" -Remote -RemoteHostName "mail.contoso.com" -TargetDeliveryDomain "<domain>.mail.onmicrosoft.com" -RemoteCredential (Get-Credential) You must specify the PrimaryOnly parameter. Target user 'Maisha Lee' already has an archive mailbox. + CategoryInfo : NotSpecified: (:) [New-MoveRequest], MailboxReplicationPermanentException + FullyQualifiedErrorId : [Server=PAXP190MB1743,RequestId=3f8179c3-aa93-453f-9e14-d824968f34c4,TimeStamp=5/28/2022 7:19:13 AM] [FailureCategory=Cmdlet-MailboxReplicationPermanentException] FE8B9422,Microsoft.Exchange.Management. Migration.MailboxReplication.MoveRequest.NewModernMoveRequest + PSComputerName : outlook.office365.com- Aggiungere il
ArchiveOnlyparametro alla sintassi del comando precedente per risolvere l'errore quando si crea una nuova richiesta di spostamento per spostare la cassetta postale di archiviazione solo in Exchange Online. - Compila i seguenti dettagli:
- Identità: nome della cassetta postale o indirizzo di posta elettronica.
- RemoteHostName: il server remoto copiato nel passaggio 2.
- ArchiveOnly: mantiene vuoto il valore.
- TargetDeliveryDomain: dominio SMTP primario usato per le cassette postali dell'organizzazione di Exchange Online.
- RemoteCredential: account amministratore locale con privilegi.
Dopo aver eseguito il comando per una nuova richiesta di spostamento, viene visualizzata una richiesta di accesso per le credenziali, come illustrato nella seguente sintassi del comando:
New-MoveRequest -Identity "Maisha.Lee@contoso.com" -Remote -RemoteHostName "mail.contoso.com" -ArchiveOnly -TargetDeliveryDomain "<domain>.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)Immettere la password delle credenziali locali (RemoteCredential).
- Aggiungere il
Ottenere lo stato di spostamento della cassetta postale
Ottenere lo stato della richiesta di spostamento della cassetta postale usando il cmdlet Get-MoveRequest .
Get-MoveRequest -Identity "Maisha.Lee@contoso.com" | Get-MoveRequestStatisticsEseguire il comando seguente per ottenere tutte le richieste di spostamento della cassetta postale:
Get-MoveRequest | Get-MoveRequestStatisticsL'output mostra lo stato di spostamento della cassetta postale come Completato , come illustrato nello screenshot seguente:
In caso contrario e non è possibile completare la richiesta di spostamento della cassetta postale, è possibile sospendere e riprendere la richiesta.
Spostare le cassette postali di Exchange Online in un'organizzazione locale
Per spostare una cassetta postale di Exchange Online nell'organizzazione locale tramite PowerShell, eseguire la procedura seguente:
Connettersi a PowerShell di Exchange Online: Avviare PowerShell come amministratore e connettersi a PowerShell di Exchange Online eseguendo il comando seguente:
PS C:\> Connect-ExchangeOnlineNota
Non si sta eseguendo il pull della cassetta postale di Exchange Online in locale. In realtà, si sta eseguendo il push della cassetta postale di Exchange Online in locale. Ecco perché è necessario connettersi a Exchange Online ed eseguire i comandi da PowerShell di Exchange Online.
Trovare l'URL del server remoto dell'endpoint di migrazione: ottenere l'URL del server remoto usando il cmdlet Get-MigrationEndpoint .
Get-MigrationEndpoint | Format-List Identity, RemoteServerViene visualizzato l'output seguente:
Identity : Hybrid Migration Endpoint - EWS (Default Web Site) RemoteServer : mail.contoso.comNota
Il valore RemoteServer nell'output della sintassi del comando precedente viene generato eseguendo la procedura guidata di configurazione ibrida (HCW).
Copiare il valore dell'URL di RemoteServer in base alle esigenze nella parte successiva.
Creare una nuova richiesta di spostamento per spostare le cassette postali primarie e di archiviazione da Exchange Online tramite PowerShell
Inserire i seguenti dettagli come parte della creazione di una nuova richiesta di spostamento per spostare la cassetta postale principale e la cassetta postale di archiviazione da Exchange Online:
- Identità: nome della cassetta postale o indirizzo di posta elettronica.
- RemoteTargetDatabase: database delle cassette postali locali di Exchange.
- RemoteHostName: il server remoto copiato nel passaggio 2.
- TargetDeliveryDomain: dominio SMTP primario usato per le cassette postali dell'organizzazione di Exchange Online.
- RemoteCredential: account amministratore locale con privilegi.
Il comando da eseguire per creare una nuova richiesta di spostamento è:
New-MoveRequest -OutBound -RemoteTargetDatabase "DB01" -RemoteHostName "mail.contoso.com" -TargetDeliveryDomain "contoso.com" -RemoteCredential (Get-Credential)Immettere la password delle credenziali locali (RemoteCredential) per la richiesta di accesso alle credenziali che viene visualizzata, come illustrato nella sintassi del comando seguente, dopo l'esecuzione del comando:
PS C:\> Get-Mailbox -Identity "Jordy.Twin@contoso.com" | New-MoveRequest -OutBound -RemoteTargetDatabase "DB01" -RemoteHostName "mail.contoso.com" -TargetDeliveryDomain "contoso.com" -RemoteCredential (Get-Credential exoip\administrator) DisplayName Status TargetDatabase ----------- ------ -------------- Jordy Twin QueuedDopo aver eseguito il comando precedente che include la password delle credenziali locali, è possibile che vengano visualizzati i seguenti errori:
- Impossibile trovare un destinatario con il GUID della cassetta postale
- I GUID di archiviazione nei destinatari di origine e destinazione non corrispondono
Spostare solo la cassetta postale principale da Exchange Online usando PowerShell
Se le posizioni delle cassette postali principali e delle cassette postali di archiviazione si trovano in Exchange Online e si desidera spostare solo la cassetta postale principale, aggiungere
-PrimaryOnlye-ArchiveDomainparametri al comando eseguito per creare un nuovo spostamento e, nella sintassi del comando, inserire i seguenti dettagli:- Identità: nome della cassetta postale o indirizzo di posta elettronica.
- OutBound: mantiene vuoto il valore.
- RemoteTargetDatabase: database delle cassette postali locali di Exchange.
- RemoteHostName: il server remoto copiato nel passaggio 2.
- PrimaryOnly: mantiene vuoto il valore.
- ArchiveDomain: dominio SMTP primario usato per le cassette postali dell'organizzazione di Exchange Online.
- TargetDeliveryDomain: dominio SMTP primario usato per le cassette postali dell'organizzazione di Exchange Online.
- RemoteCredential: account amministratore locale con privilegi.
Il comando da eseguire per creare una nuova richiesta di spostamento è:
New-MoveRequest -OutBound -RemoteTargetDatabase "DB01" -RemoteHostName "mail.contoso.com" -PrimaryOnly -ArchiveDomain "<domain>.mail.onmicrosoft.com" -TargetDeliveryDomain "contoso.com" -RemoteCredential (Get-Credential)Dopo aver eseguito il comando, viene visualizzata una richiesta di accesso per le credenziali, come illustrato nella seguente sintassi del comando:
PS C:\> Get-Mailbox -Identity "Jordy.Twin@contoso.com" | New-MoveRequest -OutBound -RemoteTargetDatabase "DB01" -RemoteHostName "mail.contoso.com" -PrimaryOnly -ArchiveDomain "<domain>.mail.onmicrosoft.com" -TargetDeliveryDomain "contoso.com" -RemoteCredential (Get-Credential exoip\administrator) DisplayName Status TargetDatabase ----------- ------ -------------- Jordy Twin QueuedImmettere la password delle credenziali locali (RemoteCredential).
Ottenere lo stato di spostamento della cassetta postale
Ottenere lo stato della richiesta di spostamento della cassetta postale usando il cmdlet Get-MoveRequest .
PS C:\> Get-MoveRequest -Identity "Jordy.Twin@contoso.com" | Get-MoveRequestStatistics | ft DisplayName,StatusDetail,TotalMailboxSize,TotalArchiveSize,PercentComplete DisplayName StatusDetail TotalMailboxSize TotalArchiveSize PercentComplete ----------- ------------ ---------------- ---------------- --------------- Jordy Twin Completed 231.6 MB (242,877,775 bytes) 0 B (0 bytes) 100Lo spostamento della cassetta postale viene completato. In caso contrario e non è possibile completare la richiesta di spostamento della cassetta postale, è possibile sospendere e riprendere la richiesta.
Per implementare il passaggio successivo della rimozione dei batch migrati completati, vedere Rimuovere i batch di migrazione completati.