Share via


Mover caixas de correio usando o script MoveMailbox.ps1 no Shell

Aplica-se a: Exchange Server 2010

Tópico modificado em: 2009-12-08

Assim como o cmdlet Move-Mailbox no Microsoft Exchange Server 2007, o script MoveMailbox.ps1 proporciona uma experiência de gerenciamento síncrono para mover caixas de correio. Por padrão, os scripts são instalados em C:\Arquivos de Programas\Microsoft\Exchange Server\V14\Scripts.

Dica

Você pode usar esse script para local apenas move. Não é possível usar esse script para movimentações remotas (floresta cruzada). Para mais informações sobre as movimentações de caixa de correio remotas, consulte Prepare Mailboxes for Cross-Forest Move Requests.

MoveMailbox.ps1 executa as seguintes tarefas:

  1. Cria uma solicitação de movimentação local.
  2. Aguarda a movimentação de caixa de correio terminar.
  3. Limpa a solicitação de movimentação após sua conclusão.

MoveMailbox.ps1 inclui dois conjuntos de parâmetros. O primeiro parâmetro define as movimentações de uma única caixa de correio, ou você pode canalizar as caixas de correio no comando. O segundo parâmetro define as movimentações de todas as caixas de correio hospedadas em um banco de dados especificado, ou você pode canalizar os objetos de banco de dados no comando para mover todas as caixas de correio que residem nesses bancos de dados de caixa de correio.

Dica

O Shell não carrega scripts automaticamente. Todos os scripts devem ser precedidos por ".</STRONG>" Por exemplo, para executar o script MoveMailbox.ps1, digite .\MoveMailbox.ps1.

Para obter mais informações sobre como usar e escrever scripts, consulte Script com o Shell de Gerenciamento do Exchange.

Procurando outras tarefas de gerenciamento relacionadas a solicitações de movimentação? Consulte Gerenciando solicitações de movimentação.

Usando MoveMailbox.ps1 para mover caixas de correio específicas

Para executar este procedimento, você precisa de permissões. Para ver de que permissões você precisa, consulte o Entrada "Movimentações da Caixa de Correio" no tópico Permissões de caixa de correio.

A tabela e o conjunto de sintaxes de parâmetros a seguir listam os parâmetros que podem ser usados para mover caixas de correio específicas.

MoveMailbox.ps1 -Identity <Object> -DatabaseMap <Hashtable> -TargetDatabase <Object> [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]
Parâmetro Necessário(s) Descrição

DatabaseMap

Necessário(s)

O parâmetro DatabaseMap especifica o mapa entre os bancos de dados sendo movidos para e de. Use esse parâmetro se estiver utilizando o método de pipelining para identificar as caixas de correio sendo movidas. O parâmetro DatabaseMap requer o seguinte:

  • Use a sintaxe a seguir: @{"<SourceDatabase>"="<TargetDatabase>"}
  • O nome de SourceDatabase deve corresponder ao nome do banco de dados conforme relatado pelo cmdlet Get-Mailbox.
  • Você pode incluir vários mapas de banco de dados. Separe vários mapas com um ponto-e-vírgula (;), por exemplo, @ {"DB1" = "DBA"; "DB2" = "DBB"}
Dd876878.note(pt-br,EXCHG.140).gifObservação:
Não será possível usar esse parâmetro com o parâmetro TargetDatabase. Se estiver canalizando o comando e o usuário corresponder à identidade no cmdlet Get-Mailbox, mas não corresponder ao banco de dados de origem no cmdlet DatabaseMap, a caixa de correio do usuário será ignorada.

Identity

Necessário(s)

O parâmetro Identity especifica a identidade da caixa de correio que deseja mover. Esse parâmetro aceita os seguintes valores:

  • ADObjectID
  • Alias
  • DN (nome diferenciado)
  • Domain\Account
  • GUID
  • LegacyExchangeDN
  • SmtpAddress
  • Nome UPN
Dd876878.note(pt-br,EXCHG.140).gifObservação:
Você pode canalizar o parâmetro Identity usando o cmdlet Get-Mailbox.

TargetDatabase

Necessário(s)

O parâmetro TargetDatabase especifica a identidade do banco de dados do qual você está transferindo a caixa de correio. Esse parâmetro aceita os seguintes valores:

  • GUID
  • DN (nome diferenciado)
  • Servidor\nome do banco de dados
  • Nome do banco de dados
Dd876878.note(pt-br,EXCHG.140).gifObservação:
Não será possível usar esse parâmetro com o parâmetro DatabaseMap.

AutoSuspend

Opcional

A opção AutoSuspend especifica se deve suspender a solicitação de movimentação antes de chegarem ao status de CompletionInProgress. Após a movimentação ser suspensa, terá um status de AutoSuspended. Se usar esse parâmetro, você também deverá especificar a movimentação usando o cmdlet Resume-MoveRequest.

BadItemLimit

Opcional

O parâmetro BadItemLimit especifica o número de itens inválidos a serem ignorados se a solicitação de transferência da caixa de correio encontrar um dano na caixa de correio. Use o valor 0 se não quiser ignorar os itens incorretos. Use o valor -1 para ignorar um número ilimitado de itens incorretos. O intervalo de entrada válido para esse parâmetro é de -1 a 2,147,483,647. O valor-padrão é 0. Recomendamos que você mantenha o valor 0 e somente altere o valor do parâmetro BadItemLimit se a solicitação de movimentação falhar.

DomainController

Opcional

O parâmetro DomainController especifica o FQDN (nome de domínio totalmente qualificado) do controlador de domínio que grava essa alteração de configuração no Active Directory.

PollInterval

Opcional

O parâmetroPollInterval especifica, em segundos, quanto tempo será preciso aguardar para verificar se uma solicitação de movimentação foi concluída. Por exemplo, se PollInterval for definido como 180, o script MoveMailbox.ps1 verificará o status das solicitações de movimentação a cada 3 minutos para ver se a movimentação tem o status de Concluído. O tempo padrão é 10 segundos.

StartBatchSize

Opcional

O parâmetro StartBatchSize especifica com que frequência iniciar as movimentações de caixa de correio para fins de balanceamento de carga. O parâmetro aplica-se somente à movimentação de várias caixas de correio de uma vez. Por exemplo, se esse parâmetro for definido como 10 e você estiver movendo 15 caixas de correio, o script chamará o cmdlet New-MoveRequest quando ele vir que 10 caixas de correio estão sendo movidas para o mesmo banco de dados de destino.

Exemplos

EXEMPLO 1

Este exemplo move as caixas de correio que começam com "ay". Se essas caixas de correio residirem no banco de dados de caixa de correio DB1, este exemplo usará o parâmetro DatabaseMap para movê-las para o banco de dados de caixa de correio DBA. Se essas caixas de correio residirem em DB2, este exemplo as moverá para o banco de dados de caixa de correio DBB.

Get-Mailbox ay* | .\MoveMailbox.ps1 -DatabaseMap @{"DB1"="DBA";"DB2"="DBB"}

EXEMPLO 2

Este exemplo move a caixa de correio de Tony Smith para DB2.

.\MoveMailbox.ps1 -Identity "Tony@Contoso.com" -TargetDatabase "DB2"

Usar MoveMailbox.ps1 para mover caixas de correio hospedadas em um banco de dados específico

Para executar este procedimento, você precisa de permissões. Para ver de que permissões você precisa, consulte o Entrada "Movimentações da Caixa de Correio" no tópico Permissões de caixa de correio.

A tabela e o conjunto de sintaxes de parâmetros a seguir listam os parâmetros que moverão caixas de correio com base no banco de dados.

MoveMailbox.ps1 -MailboxDatabase <Object> [-DatabaseMap <Hashtable>] [-TargetDatabase <Object>] [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]

Parâmetro

Necessário(s)

Descrição

MailboxDatabase

Necessário(s)

O parâmetro MailboxDatabase especifica o banco de dados de caixa de correio de que você está movendo as caixas de correio.

Esse parâmetro aceita os seguintes valores:

  • GUID
  • DN (nome diferenciado)
  • Servidor\nome do banco de dados
  • Nome do banco de dados
Dd876878.note(pt-br,EXCHG.140).gifObservação:
Não será possível usar esse parâmetro com o parâmetro DatabaseMap.

AutoSuspend

Opcional

A opção AutoSuspend especifica se deve suspender a solicitação de movimentação antes de chegarem ao status de CompletionInProgress. Após a movimentação ser suspensa, terá um status de AutoSuspended. Se usar esse parâmetro, você também deverá especificar a movimentação usando o cmdlet Resume-MoveRequest.

BadItemLimit

Opcional

O parâmetro BadItemLimit especifica o número de itens inválidos a serem ignorados se a solicitação de transferência da caixa de correio encontrar um dano na caixa de correio. Use o valor 0 se não quiser ignorar os itens incorretos. Use o valor -1 para ignorar um número ilimitado de itens incorretos. O intervalo de entrada válido para esse parâmetro é de -1 a 2,147,483,647. O valor-padrão é 0. Recomendamos que você mantenha o valor 0 e somente altere o valor do parâmetro BadItemLimit se a solicitação de movimentação falhar.

DatabaseMap

Opcional

O parâmetro DatabaseMap especifica o mapa entre os bancos de dados sendo movidos para e de. Use esse parâmetro se estiver utilizando o método de pipelining para identificar as caixas de correio sendo movidas. O parâmetro DatabaseMap requer o seguinte:

  • Use a sintaxe a seguir: @{"<SourceDatabase>"="<TargetDatabase>"}
  • O nome de SourceDatabase deve corresponder ao nome do banco de dados conforme relatado pelo cmdlet Get-Mailbox .
  • Você pode incluir vários mapas de banco de dados. Separe vários mapas com um ponto-e-vírgula (;), por exemplo, @ {"DB1" = "DBA"; "DB2" = "DBB"}
Dd876878.note(pt-br,EXCHG.140).gifObservação:
Não será possível usar esse parâmetro com o parâmetro TargetDatabase. Se estiver canalizando o comando e o usuário corresponder à identidade no cmdlet Get-Mailbox, mas não corresponder ao banco de dados de origem no cmdlet DatabaseMap, a caixa de correio do usuário será ignorada.

DomainController

Opcional

O parâmetro DomainController especifica o FQDN (nome de domínio totalmente qualificado) do controlador de domínio que grava essa alteração de configuração no Active Directory.

PollInterval

Opcional

O parâmetroPollInterval especifica, em segundos, quanto tempo será preciso aguardar para verificar se uma solicitação de movimentação foi concluída. Por exemplo, se PollInterval for definido como 180, o script MoveMailbox.ps1 verificará o status das solicitações de movimentação a cada 3 minutos para ver se a movimentação tem o status de Concluído. O tempo padrão é 10 segundos.

StartBatchSize

Opcional

O parâmetro StartBatchSize especifica com que frequência iniciar as movimentações de caixa de correio para fins de balanceamento de carga. O parâmetro aplica-se somente à movimentação de várias caixas de correio de uma vez. Por exemplo, se esse parâmetro for definido como 10 e você estiver movendo 15 caixas de correio, o script chamará o cmdlet New-MoveRequest quando ele vir que 10 caixas de correio estão sendo movidas para o mesmo banco de dados de destino.

TargetDatabase

Opcional

O parâmetro TargetDatabase especifica a identidade do banco de dados do qual você está transferindo a caixa de correio. Esse parâmetro aceita os seguintes valores:

  • GUID
  • DN (nome diferenciado)
  • Servidor\nome do banco de dados
  • Nome do banco de dados
Dd876878.note(pt-br,EXCHG.140).gifObservação:
Não será possível usar esse parâmetro com o parâmetro DatabaseMap.

Exemplos

EXEMPLO 1

Este exemplo move todas as caixas de correio que residem no banco de dados de caixa de correio DB1 para o banco de dados DB2.

.\MoveMailbox.ps1 -MailboxDatabase DB1 -TargetDatabase DB2

EXEMPLO 2

Este exemplo usa o cmdlet Get-MailboxDatabase para recuperar todos os objetos de banco de dados de caixa de correio cujo banco de dados de correio começa com "DB1" e canalizar o resultado para o script MoveMailbox.ps1.

Get-MailboxDatabase DB1* | .\MoveMailbox.ps1 -DatabaseMap @{"DB10"=DBA;"DB11"="DBB";"DB12"="DBA"}