Como exportar todas as mailboxes de um Exchange 2010 para .pst?
Mais uma tarefa simpleas mas cheia de descobertas e atividades por aqui. Um cliente precisa exportar todos seus dados de um exchange 2010 antigo para PST para fim de arquivo. Para isso, existem várias formas de executá-lo, porém, é preciso fazer algumas atividades antes, vamos conferir?
01 – Permissão para exportar os dados:
Crie as permissões para que seu usuário possa exportar os dados de dentro do Exchange para uma pasta compartilhada, dê essas permissões ao seu usuário de admin, marcado em vermelho.
New-ManagementRoleAssignment –Role "Mailbox Import Export" –User Administrator
02 – Permissão no compartilhamento para receber os arquivos:
Crie uma nova pasta que irá receber os dados exportados, compartilhe a pasta e adicione as permissões (no compartilhamento e na guia segurança) abaixo:
- Full Access : EXCHANGE TRUSTED SUBSYSTEM (grupo)
- Full Access: Domains Admins
03 – Exporte a lista de usuários que gostaria de exportar dados para um pst:
Utilize do código abaixo no seu Microsoft Exchange Powershell para exportar as informações:
Get-Mailbox -resultsize unlimited| select displayname, primarysmtpaddress | export-csv .\mailbox.csv -NoTypeInformation -Encoding unicode
04 – Use o código abaixo para exportar os dados para a pasta que você indicar:
Salve o código abaixo em um arquivo chamado ExportMailboxData.ps1 com o seguinte conteúdo:
write-host Clear-Host $desc = @" DEVELOPED BY : Guilherme Lima PLATFORM : Exchange 2010 WEBSITE : http://solucoesms.com.br WEBSITE2 : http://github.com/guilhermelimait LINKEDIN : https://www.linkedin.com/in/guilhermelimait/ DESCRIPTION : Export users mailbox data from the local server to a UNC path "@ Write-host $desc -ForegroundColor darkgreen Write-Host $UNCpath = "\\servidor\pastacompartilhada" $Batch = "lote01" get-mailboxexportrequest -batchname $Batch | REMOVE-mailboxexportrequest $Users = get-content .\Mailbox.txt foreach($user in $users){ $DName = get-mailbox $user | select-object -expandproperty displayname New-MailboxExportRequest $user -FilePath "$UNCpath\$DName.pst" -batchname $Batch write-host " > Export Process of user: $DName.pst was initiated" -foreground darkyellow
05 – Acompanhe a Exportação:
Você deve ter percebido que existe uma variável chamada $batch, insira nela o valor do lote que você quer pesquisar, dessa forma, poderá fazer vários lotes separadamente e sempre que precisar saber como vai o processo de exportação e se foi concluído com sucesso, execute o comando informando o nome do lote que você executou no passo anterior:
get-mailboxexportrequest -batchname lote01
06 – Fim!
O que acharam? Bem simples não é mesmo?