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?

Add a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.