Búsqueda de sitios web

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 : Unchanged

Exportar 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 UTF8

Exporte 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 UTF8

Estado 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 Completed

Ejemplo 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  2

Exportar 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 UTF8

3. 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 : Changed

Exportar 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 UTF8

Obtenga 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 UTF8

Exportar 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 UTF8

Exportar 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 UTF8

3. 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) 100

Exportar 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 UTF8

Si 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 UTF8

Combina 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-Moverequeststatistics

Ejemplo 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) 100

Obtener + 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 UTF8

Exportar información a un archivo CSV

Get-MoveRequest| Get-Moverequeststatistics -IncludeReport -Diagnostic | Export-CSV c:\temp\"Get-Move-Request-Get-Moverequeststatistics.CSV" -NoTypeInformation -Encoding utf8

Exportar información a un archivo XML

Get-MoveRequest| Get-Moverequeststatistics -IncludeReport -Diagnostic | Export-Clixml
c:\temp\"Get-MoveRequestStatistics-IncludeReport-Diagnostic.xml" -Encoding UTF8

Otra 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 -autosize

Descargar 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

Artículos relacionados