
Exporting and Importing Mailboxes or PST Files into Microsoft Exchange 2010 SP1
Prior to Exchange 2010 SP1 we used the Export-Mailbox command (Exchange 2007 and Exchange 2010) o Dive (Exchange 2003) to export our mailboxes to PST's files. Thanks to Exchange SP1 2010 we'll use 'New-MailboxExportRequest’ and it will therefore not be necessary to have any Outlook on premises. We will perform this procedure on an Exchange server 2010 SP1, We will have to indicate which user or group will be in charge of carrying out these imports or exports, so we will have to add the role of 'Mailbox Import Export'. Otherwise, by default members of the 'Organization Management'’ will have such roles.
Con el comando ‘New-ManagementRoleAssignment –Role “Mailbox Import Export” [–User USUARIO] [–SecurityGroup GRUPO]’ asignaremos permisos a otros grupos o usuarios (ojo que también deberían de ser administradores locales del servidor Exchange). Y ya podríamos ejecutar con dicho usuario los comandos de exportación o importación; debemos cerrar y abrir la Shell de administración de Exchange antes de ello.
Con el comando ‘New-MailboxExportRequest -Mailbox USUARIO -FilePath “RUTA_UNCarchivo.pst”‘ exportaremos un buzón de forma individual.
Con el comando ‘foreach ($I in (Get-Mailbox)) { New-MailboxExportRequest -Mailbox $i -FilePath “RUTA_UNC$($i.Alias).pst” }’ exportaremos todos los buzones de nuestra organización Exchange Server 2010. En el caso que tengamos un entorno mixto y no todos nuestros servidores sean Exchange 2010 este comando nos dará errores con los buzones que no estén en servidores de buzón Exchange 2010, por lo que deberíamos filtrar y ejecutar: ‘foreach ($I in (Get-Mailbox | Where {$_.ExchangeVersion.ExchangeBuild.Major -eq 14})) { New-MailboxExportRequest -Mailbox $i -FilePath “RUTA_UNC${$i.Alias).pst” }’
Podremos consultar en todo momento el estado de las tareas de exportación mediante ‘Get-MailboxExportRequest’. Si necesitamos importar buzones de forma indivitual lo realizaremos de forma similar a la exortación con el comando ‘New-MailboxImportRequest -Mailbox USUARIO -FilePath “RUTA_UNCarchivo.pst’; en el caso de necesitar una importación masiva podremos utilizar el comando ‘Import-Csv‘ utilizando un fichero CSV en el que tendremos una unica columna con los alias a importar, ejecutaríamos ‘foreach ($I in (Import-Csv .exports.csv)) { New-MailboxExportRequest -Mailbox $i.Alias -FilePath “RUTA_UNC$($i.Alias).pst” }’