Uso de PowerShell para ver y exportar información sobre la migración de buzones a Office 365 | Parte 3#5
En el artículo actual y en el siguiente, revisamos los distintos cmdlets de PowerShell que podemos usar para ver y exportar información sobre el proceso de migración de buzones de Exchange.
Los comandos de PowerShell de “migración de buzones” que revisamos en este artículo son :
- Obtener-MigraciónBatch
- Solicitud de movimiento
- Get-MoveRequestEstadísticas
1. Lotes de migración | Obtener-MigraciónBatch
El término - “Lote de migración”, define una entidad que sirve como un “contenedor lógico”, que contiene los buzones de correo (y sus usuarios asociados), que migramos desde el servidor Exchange de origen al Exchange de destino. servidor (Exchange Online en nuestro escenario).
Obtener información sobre un lote de migración específico
Sintaxis del comando de PowerShell:
Get-MigrationBatch -Identity <Migration BATCH name>Ejemplo de salida de la consola PowerShell:
PS C:\> Get-MigrationBatch "Eyal Migration batch -001" |fl
RunspaceId : 2771b392-d73b-4639-b63d-f4646c49c0af
Identity : Eyal Migration batch -001
Status : Completed
State : Completed
Flags : None
WorkflowStage : Processing
TriggeredAction : None
BatchGuid : fb2529fe-b9bf-446a-accd-3819e6bef03c
TotalCount : 2
ActiveCount : 0
StoppedCount : 0
SyncedCount : 0
FinalizedCount : 2
FailedCount : 0
FailedInitialSyncCount : 0
FailedIncrementalSyncCount : 0
CompletedWithWarningCount : 0
PendingCount : 0
ProvisionedCount : 0
ValidationWarningCount : 0
ValidationWarnings : {}
Message :
CreationDateTime : 2/23/2017 10:41:09 AM
CreationDateTimeUTC : 2/23/2017 8:41:09 AM
StartDateTime : 2/23/2017 10:41:09 AM
StartDateTimeUTC : 2/23/2017 8:41:09 AM
InitialSyncDateTime :
InitialSyncDateTimeUTC :
InitialSyncDuration :
LastSyncedDateTime : 2/23/2017 10:47:28 AM
LastSyncedDateTimeUTC : 2/23/2017 8:47:28 AM
FinalizedDateTime :
FinalizedDateTimeUTC :
SubmittedByUser : Eyal@o365info.com
OwnerId : EURPR05A001.prod.outlook.com/Microsoft Exchange Hosted Organizations/o365info2.onmicrosoft.com/Eyal
OwnerExchangeObjectId : 7646f17d-bf1f-4e07-8698-4e71ab4dad80
NotificationEmails : {Eyal@o365info.com}
ExcludedFolders : {}
MigrationType : ExchangeRemoteMove
BatchDirection : Onboarding
Locale : en-US
Reports : {When migration report was created:2/23/2017 9:19:17 AM; Migration report URL:https://outlook.office365.com/ecp/Migration/DownloadReport.aspx?HandlerClass=
MigrationReportHandler&Name=MigrationReport.csv&DelegatedOrg=o365info2.onmicrosoft.com&realm=o365info2.onmicrosoft.com&exsvurl=1&Identity=RgAAAAAKqOiME1CMQ
LkjirbMEluxBwCuLv0wEUQXTp3grhMeQsz8AAAh0Mi_AACuLv0wEUQXTp3grhMeQsz8AAN-JngxAAAJ; Error report URL:}
IsProvisioning : False
BatchFlags : ReportInitial
WorkflowControlFlags : None
AutoRetryCount : 0
CurrentRetryCount : 0
AllowUnknownColumnsInCsv : False
DiagnosticInfo :
SupportedActions : Remove
SourceEndpoint : mail.o365info.com
TargetEndpoint :
SourcePublicFolderDatabase :
TargetDatabases : {}
TargetArchiveDatabases : {}
TargetDAGs : {}
BadItemLimit : 10
LargeItemLimit : 0
MoveOptions : {}
SkipMoving : {}
SkipMerging : {}
InternalFlags : {}
PrimaryOnly : False
ArchiveOnly : False
TargetDeliveryDomain : o365info2.mail.onmicrosoft.com
SkipSteps : None
Workflow : Steps: [(Injection), (Processing)]
WorkflowTemplate :
Report :
StartAfter :
StartAfterUTC :
CompleteAfter :
CompleteAfterUTC :
IsValid : True
ObjectState : UnchangedExportar información detallada sobre un lote de migración específico | archivo TXT
Get-MigrationBatch -Identity migration-003 -IncludeReport -Diagnostic | Format-List | Out-File c:\temp\"Get-MigrationBatch-IncludeReport-Diagnostic.txt" -Encoding UTF8Exporte información detallada sobre TODOS los lotes de migración
Exportar información a un archivo TXT
Get-MigrationBatch -IncludeReport -Diagnostic | Format-List | Out-File c:\temp\"ALL Migration -Get-MigrationBatch-IncludeReport-Diagnostic.txt" -Encoding UTF8
Exportar información a un archivo XML
Get-MigrationBatch -IncludeReport -Diagnostic | Export-Clixml
c:\temp\"ALL Migration Get-MigrationBatch-IncludeReport-Diagnostic.xml" -Encoding UTF8Estado del lote de migración
Usando el parámetro "Estado", podemos obtener información sobre el lote de migración existente que tiene un "Estado" específico.
El tipo de lote de migración del valor "Estados" podría ser el siguiente:
- Terminado
- Completado con errores
- Completando
- corrupto
- Creado
- Fallido
- Sincronización incremental
- Eliminando
- A partir de
- Interrumpido
- Sincronización
- Parada
- Sincronizado
- Sincronizado con errores
- Espera
Para ver un lote de migración con un estado específico, podemos usar la siguiente sintaxis de PowerShell.
Mostrar todos los lotes de migración con un estado como "Completado"
Ejemplo de comando de PowerShell:
Get-MigrationBatch -Status CompletedEjemplo de salida de la consola PowerShell:
PS C:\> Get-MigrationBatch -Status Completed
Identity Status Type TotalCount
-------- ------ ---- ----------
Eyal Migration batch -001 Completed ExchangeRemoteMove 2
Eyal Migration batch -002 Completed ExchangeRemoteMove 2Exportar información sobre todos los lotes de migración con el estado "No completado" | archivo TXT
Ejemplo de comando de PowerShell:
Get-MigrationBatch | Where {$_.status -ne ”Completed”} | Get-MoveRequestStatistics | Format-List | Out-File c:\temp\"Get-MigrationBatch Not Completed.txt" -Encoding UTF83. Mover solicitudes
El término - “Solicitud de movimiento”, define el buzón de Exchange que migramos desde el “servidor Exchange de origen” al “servidor Exchange de destino”.
Los dos cmdlets de PowerShell que utilizamos para obtener información sobre las solicitudes de movimiento de la "entidad de buzón" son:
- Solicitud de movimiento
- Get-MoveRequestEstadística
2. Usando el comando Get-MoveRequest
El comando de PowerShell Get-MoveRequest, obtiene información básica sobre una propiedad de un buzón específico que migramos.
Obtenga información sobre una solicitud de mudanza específica
Sintaxis del comando PowerShell
Get-MoveRequest < Move Request name>Ejemplo de salida de la consola PowerShell
PS C:\> Get-MoveRequest onpremmbx-01@o365info.com | Format-List
RunspaceId : 2771b392-d73b-4639-b63d-f4646c49c0af
ExchangeGuid : e3254cfe-81c0-496e-84db-80e9190342e5
SourceDatabase :
TargetDatabase : EURPR05DG136-db018
SourceArchiveDatabase :
TargetArchiveDatabase :
Flags : CrossOrg, Pull
RemoteHostName : mail.o365info.com
BatchName : MigrationService:Eyal Migration batch -001
Status : Completed
RequestStyle : CrossOrg
Direction : Pull
IsOffline : False
Protect : False
Suspend : False
SuspendWhenReadyToComplete : False
AdministrativeUnits : {}
Alias : onpremmbx-01
ExtensionCustomAttribute1 : {}
ExtensionCustomAttribute2 : {}
ExtensionCustomAttribute3 : {}
ExtensionCustomAttribute4 : {}
ExtensionCustomAttribute5 : {}
DisplayName : onpremmbx-01
ExternalDirectoryObjectId : c4d8af0e-69f2-4534-b79c-04ddaea7d074
LastExchangeChangedTime :
RecipientType : UserMailbox
RecipientTypeDetails : UserMailbox
Identity : onpremmbx-01
IsValid : True
ExchangeVersion : 0.20 (15.0.0.0)
Name : onpremmbx-01
DistinguishedName : CN=onpremmbx-01,OU=o365info2.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=EURPR05A001,DC=prod,DC=outlook,DC=com
Guid : 1e697c91-3a05-490d-a1d2-4434471cd1d9
OrganizationId : EURPR05A001.prod.outlook.com/Microsoft Exchange Hosted Organizations/o365info2.onmicrosoft.com - EURPR05A001.prod.outlook.com/ConfigurationUnits/o365info2.onmicrosoft.com/Configuration
Id : onpremmbx-01
OriginatingServer : DB3PR05A001DC03.EURPR05A001.prod.outlook.com
ObjectState : ChangedExportar información sobre una solicitud de movimiento específica | archivo TXT
Get-MoveRequest onpremmbx-01@o365info.com | Format-List | Out-File c:\temp\"Get-MoveRequest.txt" -Encoding UTF8Obtenga información sobre TODAS las solicitudes de traslado de buzones de correo existentes
Cuando usamos PowerShell, el comando Get-MoveRequest sin relacionarse con una solicitud de movimiento específica, es decir, sin especificar la identidad de una solicitud de movimiento específica, el comando de PowerShell mostrará información sobre TODAS las “Solicitudes de movimiento” existentes. .
Nota: En caso de que esté realizando una migración de buzones que incluya decenas o cientos de buzones, el proceso de exportación de información sobre cada uno de estos buzones migrados podría llevar mucho tiempo.
Exportar información sobre TODAS las solicitudes de mudanza | archivo TXT
Ejemplo de comando de PowerShell
Get-MoveRequest | Format-List | Out-File c:\temp\"Get-MoveRequest.txt" -Encoding UTF8Exportar información sobre MoveRequest con un estado específico
Cada una de las "solicitudes de movimiento" podría tener un "estado" específico, como: Completado, Error, etc.
Los valores de códigos de estado disponibles son los siguientes:
- Autosuspendido
- Terminado
- Completado con advertencia
- Finalización en curso
- Fallido
- En curso
- Ninguno
- Puesto en cola
En caso de que desee obtener información solo sobre el estado específico de “Mover solicitudes”, puede utilizar la siguiente sintaxis de PowerShell.
Exportar información sobre TODAS las solicitudes de mudanza cuyo estado no sea "completado" | archivo TXT
Get-MoveRequest | Where {$_.status -ne ”Completed”} | Get-MoveRequestStatistics | Format-List | Out-File c:\temp\"Get-MoveRequest- status is not completed.txt" -Encoding UTF8Exportar información sobre TODAS las solicitudes de mudanza cuyo estado es: “Error” | archivo TXT
Ejemplo de comando de PowerShell:
Get-MoveRequest | Where {$_.status -eq ”Failed”} | Get-MoveRequestStatistics | Format-List | Out-File c:\temp\"Get-MoveRequest- status is Failed.txt" -Encoding UTF83. Usando el comando MoveRequestStatistics
El propósito del comando de PowerShell Get-MoveRequestStatistics es obtener información detallada sobre el “contenido del buzón migrado”.
Por ejemplo:
- ItemsTransferred: información sobre la cantidad de elementos de correo que ya se transfirieron.
- PercentComplete: como su nombre lo indica, información sobre el “Porcentaje completo” del proceso de migración del buzón.
Obtener información estadística de solicitudes de traslado para solicitudes de traslado específicas
Sintaxis del comando PowerShell
Get-MoveRequestStatistics <Migrated mailbox>Ejemplo de salida de la consola PowerShell
PS C:\> Get-MoveRequestStatistics onpremmbx-01@o365info.com
DisplayName StatusDetail TotalMailboxSize TotalArchiveSize PercentComplete
----------- ------------ ---------------- ---------------- ---------------
onpremmbx-01 Completed 7.148 MB (7,495,583 bytes) 100Exportar información sobre solicitudes de movimiento específicas Estadísticas | archivo TXT
Get-MoveRequestStatistics onpremmbx-01@o365info.com | Format-List | Out-File c:\temp\"Get-MoveRequestStatistics.txt" -Encoding UTF8Si queremos eliminar datos no mercenarios y obtener una “vista clara” de las estadísticas de migración del buzón, podemos pedirle a PowerShell que muestre solo campos de datos específicos.
Ejemplo de comando de PowerShell:
Get-MoveRequestStatistics onpremmbx-01@o365info.com | Select MailboxIdentity,Status,WorkloadType,RecipientTypeDetails,SourceServer ,BatchName,TotalMailboxSize,TotalMailboxItemCount,TotalArchiveSize,BytesTransferred,BytesTransferredPerMinute,ItemsTransferred,PercentComplete | Format-List | Out-File c:\temp\"Get-MoveRequestStatistics.txt" -Encoding UTF8Combina los comandos Get-MoveRequest + Get-Moverequeststatistics
Una buena opción que podemos utilizar cuando usamos PowerShell es una "combinación" de dos o más comandos de PowerShell. El término formal para este método es “pipeline”.
En el siguiente escenario, utilizamos una combinación de dos comandos de PowerShell:
- Solicitud de movimiento
- Get-MoveRequestEstadísticas
El primer comando Get-MoveRequest “buscará” todas las “Solicitudes de movimiento” existentes.
El segundo comando Get-MoveRequestStatistics utilizará la "lista de solicitudes de movimiento" del primer comando y agregará la "información estadística" para cada solicitud de movimiento de buzón.
Combine los comandos Get-MoveRequest + Get-Moverequeststatistics
Sintaxis del comando de PowerShell:
Get-MoveRequest| Get-MoverequeststatisticsEjemplo de salida de la consola PowerShell:
PS C:\> Get-MoveRequest| Get-Moverequeststatistics
DisplayName StatusDetail TotalMailboxSize TotalArchiveSize PercentComplete
----------- ------------ ---------------- ---------------- ---------------
onpremmbx-02 Completed 7.148 MB (7,495,429 bytes) 100
onpremmbx-03 Completed 7.148 MB (7,495,563 bytes) 100
onpremmbx-04 Completed 7.148 MB (7,495,449 bytes) 100
onpremmbx-01 Completed 7.148 MB (7,495,583 bytes) 100Obtener + Exportar información sobre TODAS las solicitudes de movimiento simultáneas Estadísticas + información de solución de problemas
En este escenario, agregamos los parámetros adicionales -IncludeReport y -Diagnostic para obtener más detalles sobre las estadísticas de solicitudes de movimiento. La mayoría de las veces, usaremos este parámetro adicional como escenario de solución de problemas.
Además, agrego un ejemplo de exportación de información a un archivo XML porque en caso de que necesitemos entregar la información exportada al soporte de Microsoft para su posterior análisis, este es el formato de archivo "preferido".
Combina los comandos Get-MoveRequest + Get-Moverequeststatistics
Exportar información a un archivo TXT
Get-MoveRequest| Get-Moverequeststatistics -IncludeReport -Diagnostic | Format-List | Out-File c:\temp\"Get-Move-Request-Get-Moverequeststatistics.txt" -Encoding UTF8Exportar información a un archivo CSV
Get-MoveRequest| Get-Moverequeststatistics -IncludeReport -Diagnostic | Export-CSV c:\temp\"Get-Move-Request-Get-Moverequeststatistics.CSV" -NoTypeInformation -Encoding utf8Exportar información a un archivo XML
Get-MoveRequest| Get-Moverequeststatistics -IncludeReport -Diagnostic | Export-Clixml
c:\temp\"Get-MoveRequestStatistics-IncludeReport-Diagnostic.xml" -Encoding UTF8Otra variación de la sintaxis del comando PowerShell que podemos usar para obtener información sobre solicitudes de movimiento con un estado específico, como Solicitudes de movimiento fallidas + información estadística sobre cada solicitud de movimiento, podría ser.
Ejemplo de comando de PowerShell:
Get-MoveRequest -movestatus Failed| Get-moverequeststatistics |select DisplayName,SyncStage,Failure*,Message,PercentComplete,largeitemsencountered,baditemsencountered| ft -autosizeDescargar el script PowerShell de migración de correo
El próximo artículo de la serie de artículos actual.
Uso de PowerShell para ver y exportar información sobre la migración de buzones a Office 365 | Parte 4#5