Não importa como você excluiu acidentalmente a caixa de correio de uma pessoa no Exchange, você provavelmente poderá restaurá-la usando o PowerShell (PoSh). A chave está fazendo isso assim que você perceber que a caixa de correio foi excluída.
É um momento de pular na garganta quando percebemos que fizemos isso acidentalmente. Se você excluiu apenas algumas mensagens de email, também podemos mostrar como recuperar emails excluídos no Office 365.
Antes de começar, observe que isso se destina à restauração de caixas de correio excluídas no Exchange Onlinepara Office 365 ambiente e Exchange 2010. Também estamos assumindo que você tem os direitos administrativos para usar os métodos descritos e fez alguns script básico do PowerShell.
O que acontece quando uma caixa de correio é excluída?
A caixa de correio é movida para a reciclagem do Azure Active Directory(AD) bin no Exchange Online ou no diretório Caixas de Correio Desconectadasno Exchange 2010.
Ele pode ficar lá por até 30 dias, dependendo das políticas de retenção em vigor. Isso nos dá um período de carência para reconhecer nosso erro e recuperar dele.
Recuperar caixa de correio excluída no Exchange Online
Conecte-se ao Exchange Online via PowerShell
Na sua sessão local, abra o console do Powershell e use o seguinte comando para definir suas credenciais de logon na variável.
In_content_1 all: [300x250] / dfp: [640x360]->$userCredential
Isso facilita o trabalho com outros scripts posteriormente.
$userCredential = get-Credential
Uma janela será aberta onde você poderá entrar seu nome de usuário e senha para gerenciar o Exchange Online.
Em seguida, defina o nível da diretiva de execução para que possamos fazer as coisas em nossa sessão. Isso nos permite executar nossos comandos não assinados. Mas você também pode aprender práticas recomendadas para assinar scripts do PowerShell.
set-ExecutionPolicy Unrestricted
Quando solicitado, pressione Ypara Sim.
Agora criaremos a variável $ sessiona ser usada para abrir uma conexão entre o computador local e o Exchange Online.
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $userCredential -Authentication Basic -AllowRedirection
Powershell-liveidé o ID do seu site no Office. Geralmente, essa é uma variação do nome da sua empresa.
Use o seguinte comando para abrir uma sessão de PoSh no Exchange Online:
import-PSSession $Session -DisableNameChecking
Agora, estamos trabalhando com o PowerShell diretamente no Exchange Online, mesmo que está sentado em nosso próprio computador.
Restaurar caixa de correio com o PowerShell
A próxima parte é super fácil. Fazer a conexão nos levará muito mais tempo.
Tudo o que precisamos fazer é executar o cmdlet mostrado abaixo:
undo-SoftDeletedMailbox [email protected] -WindowsLiveID [email protected] -Password (ConvertTo-SecureString -String 'newpassword' -AsPlainText -Force)
Altere as duas instâncias de [email protected]para o nome da caixa de correio apropriado e o Windows LiveID da caixa de correio que queremos restaurar. Observe que eles podem não ser os mesmos.
Também temos que definir uma nova senha para a caixa de correio. Altere newpasswordno script para a senha de sua escolha. Você precisará retransmitir isso ao usuário e pedir que ele altere sua senha na próxima vez que efetuar login.
Por fim, use o próximo cmdlet para verificar se isso funcionou.
get-Mailbox [email protected]
Se tiver sido restaurado, o cmdlet retornará informações sobre a caixa de correio restaurada. Se ele retornar um erro, siga os comandos novamente e verifique se a caixa de correio correta e o Windows LiveID estão sendo usados.
Se isso ainda não funcionar, precisamos restaurar a caixa de correio a partir de um backup do sistema. Existem muitos tipos de backups do sistema, que estão além do escopo do que estamos fazendo hoje.
Quando terminamos, devemos fechar a sessão do PoSh. O número de sessões de PoSh que estamos executando é limitado. Deixá-lo aberto usa uma dessas sessões. A menos que fechemos, teremos que aguardar o tempo limite da sessão antes que possamos iniciar outra.
remove-PSSession $Session
É isso. Você pode até querer script isso em um módulo do PowerShell para facilitar o uso, se isso acontecer novamente.
Recuperar caixa de correio excluída no Exchange 2010
Isso não acontece ' t funciona para o Office 365 ou ambientes híbridos. Funciona apenas para o Exchange 2010 no local.
No servidor de correio, abra o Console de Gerenciamento do Exchange(EMC).
Navegue até Configuração de destinatário>Caixa de correio desconectada. Deveríamos ver a caixa de correio do usuário lá.
Se não o fizermos, o processo de limpeza do banco de dados da caixa de correio ainda não aconteceu. Tudo bem, podemos forçá-lo.
Get-MailboxDatabase | Clean-MailboxDatabase
Connect-Mailbox -Identity "username" -Database "Mailbox Database" -User "username"
Verifique se todas as configurações estão corretas, como endereço de e-mail e alias . Se parecer bom, da próxima vez que o usuário abrir o Outlook, tudo estará lá como estava.
Caixa de correio restaurada
É assim que usar PowerShell para restaurar caixas de correio no Exchange Online e Exchange 2010. Se você possui um ambiente híbrido, é um pouco mais complicado, mas pode ser feito.
O simples fato de saber que esses diferentes cmdlets existem o coloca em uma boa posição para trabalhar com o Exchange, independentemente da versão ou configuração.