¿Cómo Importar y Exportar Buzones a PST en Exchange 2016/2013/2010?
En Exchange Server 2010 SP1 (y más reciente), aparecieron cmdlets especiales de PowerShell: New-MailboxImportRequest y New-MailboxExportRequest, que le permiten importar o exportar el contenido del buzón de Exchange desde/a un archivo PST. En las versiones anteriores de Exchange, para importar/exportar datos de Exchange a un archivo PST, tenía que usar las utilidades de terceros (la mayoría de las veces, se usaba la utilidad ExMerge).
En Exchange 2016, 2013 y Office 365, el equipo de desarrollo de Exchange continuó desarrollando cmdlets de Exchange para importar/exportar a archivos PST, ampliando ligeramente la funcionalidad y aumentando su rendimiento. En este artículo, cubriremos ejemplos típicos de importación/exportación de datos desde buzones de Exchange a archivos de carpetas personales (PST).
Permisos de importación y exportación de buzones en Exchange
El rol de RBAC "Importación y exportación de buzones" debe asignarse a la cuenta de administrador con la que desea importar o exportar buzones de correo de Exchange a PST (de manera predeterminada, incluso los administradores de Exchange no tienen estos permisos). Puede asignar esta función a su cuenta mediante el Shell de administración de Exchange:
New-ManagementRoleAssignment -Role “Mailbox Import Export” -User fr_exchange_admindónde
fr_exchange_admin- es el nombre de la cuenta que obtiene los permisos de función "Importación y exportación de buzón".
Consejo. Para facilitar la administración, el rol "Importación Exportación de buzón" generalmente se asigna al grupo de seguridad AD. Posteriormente, si se tiene que otorgar este derecho a otro usuario, bastará con agregar la cuenta de usuario a este grupo de dominio. En este caso, la sintaxis del comando es un poco diferente (supongamos que el nombre del grupo AD es ExchangeAdmGroup):
New-ManagementRoleAssignment -Role "Mailbox Import Export" -SecurityGroup ExchangeAdmGroupLo mismo se puede hacer desde la interfaz gráfica de EAC (Exchange Admin Center) asignando la Importación Exportación de Mailbox al usuario o grupo deseado.
Después de otorgar permisos de RBAC, reinicie el EAC o la consola de Management Shell.
New-MailboxImportRequest: Importación de archivos PST en el buzón de Exchange
Para importar un archivo PST al buzón de Exchange, necesita lo siguiente además de los permisos RBAC:
El buzón de Exchange de destino debe existir;
El archivo PST debe estar ubicado en la carpeta de red compartida y debe conocer la ruta UNC completa (no olvide que se puede acceder al archivo local en una determinada computadora a través de su ruta de red como \PCName111\C$\PST stmail.pst);
El usuario que realiza la operación de importación debe tener permiso de lectura NTFS en la carpeta de red con el archivo de almacenamiento de correo PST.
Utilice el siguiente comando para importar el contenido de un archivo PST desde una carpeta compartida al buzón del usuario usertest.
New-MailboxImportRequest -Mailbox usetest -FilePath \\HQ-FS01\PST\usetest.pstAl importar al cuadro de destino, el contenido de las carpetas existentes se fusiona y se agregan nuevas carpetas a la estructura de carpetas de correo existente.
El contenido del archivo PST no se puede importar a la raíz del buzón de Exchange, sino a una de las carpetas existentes del buzón (por ejemplo, "Old_mail"). Por ejemplo, debe importar solo el contenido de la carpeta Bandeja de entrada a la carpeta del buzón de destino Old_mail:
New-MailboxImportRequest -Mailbox usetest -FilePath \\HQ-FS01\PST\usetest.pst -TargetRootFolder "Old_mail" -IncludeFolders "#Inbox#"Consejo. Esta es una lista completa de las carpetas estándar en el buzón de Exchange (Outlook):
- Inbox
- SentItems
- DeletedItems
- Calendar
- Contacts
- Drafts
- Journal
- Tasks
- Notes
- JunkEmail
- CommunicationHistory
- Voicemail
- Fax
- Conflicts
- SyncIssues
- LocalFailures
- ServerFailures
Después de ejecutar el comando de importación, la solicitud de importación se pone en cola para que la procese el servidor de Exchange (el procesamiento se realiza en el servidor con la función de servidor de acceso de cliente). Para ver la cola de solicitudes de importación, ejecute este comando:
Get-MailboxImportRequestEl estado de la tarea de la solicitud de importación (En progreso, Completado, En cola) para un determinado buzón se puede obtener de la siguiente manera:
Get-MailboxImportRequest mailtstPara obtener información sobre el estado de la solicitud de importación (en porcentajes), ejecute el siguiente comando:
Get-MailboxImportRequest | Get-MailboxImportRequestStatisticsLas solicitudes de importación completadas se pueden eliminar de la cola con este comando:
Get-MailboxImportRequest -Status Completed | Remove-MailboxImportRequestPara importar elementos de correo electrónico de forma masiva desde archivos PST a varios buzones de usuario, puede utilizar este comando (se supone que los nombres de los archivos pst corresponden a los nombres de los buzones de usuario):
Foreach ($i in (Get-Mailbox)) { New-MailboxImportRequest -Mailbox $i -FilePath "\\HQ-FS01\PST\$($i.Alias).pst" }
Si el proceso de importación falla, puede obtener información detallada sobre los motivos del informe generado de la siguiente manera:
Get-MailboxImportRequest -Status Failed | Get-MailboxImportRequestStatistics -IncludeReport | Format-List > AllImportReports.txtEn la mayoría de los casos, los errores de importación ocurren debido a:
Daño lógico de la estructura de archivos PST (puede reparar archivos PST de Outlook usando scanpst.exe);
Si el tamaño del buzón del usuario supera el límite especificado.
Puede especificar la cantidad de elementos defectuosos en el archivo PST que se pueden omitir durante la importación. El siguiente comando importará los datos del archivo PST al buzón de Exchange y omitirá los primeros diez elementos fallidos antes de generar un error de importación:
New-MailboxImportRequest -Mailbox mailtst -FilePath \\HQ-FS01\PST\usetest.pst -BadItemLimit 10New-MailboxExportRequest: Exportación de elementos del buzón de Exchange a un archivo PST
La exportación del contenido del buzón de Exchange es similar a la importación. Para exportar el contenido del buzón a un archivo PST, use el cmdlet New-MailboxExportRequest. Para exportar el buzón del usuario mailtst a la carpeta de red compartida (este directorio debe crearse de antemano y debe otorgar permisos de lectura y escritura en esta carpeta para el grupo de dominio Exchange Trusted Subsystem), ejecute el siguiente comando :
New-MailboxExportRequest -Mailbox mailtst -FilePath \\HQ-FS01\ExportPST\mailtst.pstSi tiene que exportar a un archivo PST solo elementos de correo electrónico de una carpeta específica, por ejemplo, Bandeja de entrada, el comando se ve así:
New-MailboxExportRequest -Mailbox mailtst -FilePath \\HQ-FS01\ExportPST\mailtst.pst -IncludeFolders “#Inbox#”Para excluir una carpeta de la exportación, use el parámetro ExcludeFolders. Por ejemplo, no necesita exportar elementos eliminados a un archivo PST:
New-MailboxExportRequest -Mailbox mailtst -FilePath \\HQ-FS01\ExportPST\mailtst.pst -ExcludeFolders “#DeletedItems#”Consideremos una tarea más compleja: supongamos que tiene que exportar todos los correos electrónicos recibidos después del 1 de enero de 2019 que contienen las palabras clave "Proyecto" y "Londres".
New-MailboxExportRequest -Mailbox mailtst -FilePath \\HQFS01\ExportPST\mailtst.pst -ContentFilter {(body -like “*Project*”) -and {body -like “*London*”) -and (Received -lt “01/01/2019”)}También puede exportar elementos solo desde una carpeta específica con los resultados de búsqueda de un buzón de búsqueda, obtenidos mediante el cmdlet Search-Mailbox.
La solicitud de tarea de exportación también se pone en cola en el servidor de Exchange. Para ver el estado de la tarea de exportación, ejecute este comando:
Get-MailboxExportRequest -Mailbox "mailtst" | Format-ListRunspaceId : 3233f0d3-1b4b-4610-b0a2-6f29a543cc54
FilePath : \\HQFS01\ExportPST\mailtst.pst
SourceDatabase : db1
Mailbox :
Name : MailboxExport
RequestGuid : e03de01f-3333-111a-95fa-23faaf97ebf9
RequestQueue : db1
Flags : IntraOrg, Push
BatchName :
Status : Completed
Protect : False
Suspend : False
Direction : Push
RequestStyle : IntraOrg
OrganizationId :
Identity : mailtst\MailboxExport
IsValid : True
ObjectState : NewNo olvide limpiar periódicamente las solicitudes completadas para la exportación de buzones a archivos PST:
Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequestAl exportar el buzón del usuario a un archivo PST, el contenido del buzón del usuario en el servidor de Exchange no se borra.
Puede exportar varios buzones de usuario de forma masiva. Cree un archivo de texto csv del siguiente formato:
Username, UNCPathtoPst
t.holland,\\HQFS01\ExportPST\holland.pst
d.orr,\\HQFS01\ExportPST\orr.pstEjecute la exportación de buzones de correo de usuario a archivos PST:
Import-CSV "C:\ps\user_list_export_pst.csv" | ForEach {New-MailboxExportRequest -Mailbox $_.username -FilePath $_.UNCPathtoPst




