Habilitando Active Directory Recycle Bin utilizando PowerShell
Introdução
O Active Directory Recycle Bin é uma ferramenta do Windows Server 2008 R2 que proporciona a habilidade de recuperar objetos previamente excluídos, como faz a lixeira do Windows. Quando temos o Recycle Bin habilitado, podemos restaurar um objeto com todos os seus atributos intactos. Por exemplo, restaurando um usuário ele voltará para seu grupo original e terá todos os acessos que tinha antes de ser excluído.
Saiba que o Active Directory Recycle Bin está desabilitado quando instalamos o Windows Server 2008 R2 e para habilitá-lo devemos elevar o functional level de nossa floresta (caso necessário) para que seja um ambiente Windows Server 2008 R2. Note também que após habilitarmos o Active Directory Recyble Bin não poderemos desabilitá-lo depois.
Após excluirmos um objeto no Active Directory com o Recycle Bin habilitado, este objeto ficará em estado que chamaremos de “Objeto Excluído”. O objeto ficará neste estado até que o prazo definido expire, então passará para o estado “Objeto Reciclado” até que este prazo expire e o objeto seja fisicamente excluído do sistema. O tempo de vida de um objeto excluído é, por definição, nulo. Isto faz com que se use o valor do estado reciclado que, por definição, também é nulo. Quando o estado reciclado é nulo, usa-se o tempo de 180 dias. Por fim, o tempo total que o objeto (após ser excluído) fica guardado no Recycle Bin é de 180 dias, por definição. Podemos mudar estes valores, mas este assunto não será coberto neste artigo.
Habilitando o Recycle Bin
Para habilitar o Recycle Bin, siga os passos a seguir.
1. Após certificar-se que sua floresta é um ambiente Windows Server 2008 R2, abra o PowerShell em Start , Administrative Tools , selecione o Active Directory PowerShell com o botão direito do mouse e então em Run as Administrator. Forneça usuário e senha para prosseguir.
2. Na tela de comandos do PowerShell, digite o seguinte e pressione Enter depois de cada comando:
Import-Module ActiveDirectory
Get-Module
Get-Command *ad*
Devem-se obter os seguintes resultados:
3. Logo após, digite o comando abaixo:
Get-ADOptionalFeature –Filter {Name –Like “*”}
Verificamos que o Recycle Bin está desabilitado, pois a propriedade EnableScopes está vazia.
4. Para habilitar o Recycle Bin, digite o comando abaixo, onde Woodgrovebank será trocado pelo seu <ADEntity> , que é o nome do seu domínio. Neste exemplo é Woodgrovebank.com.
Enable-ADOptionalFeature “Recycle Bin Feature” –Scope Forest –Target ‘Woodgrovebank.com’
5. Confirme digitando Y e pressione Enter.
6. Para confirmar que o Recycle Bin foi habilitado, digitaremos novamente o comando do item 3, obtendo o seguinte resultado:
Observe que a propriedade EnableScopes agora contém informações.
Movendo objetos para o Recycle Bin
Apenas como exemplo, criamos no Active Directory Users and Computers os seguintes objetos (caso queira testar os passos, não se esqueça de desabilitar a função Protect from accidental deletion ao criar os objetos!) : um usuário com nome “John Smith” que estará na Organizational Unit (OU) Southamerica > Brazil > Users. O usuário também estará no grupo Consultants. O resultado é mostrado na figura abaixo.
Após criarmos os objetos, excluímos o usuário John Smith, o grupo Consultants, a OU Brazil e a OU Southamerica. Pretendemos recuperar estes objetos.
Verificando os objetos no Recycle Bin
Na primeira parte descrevemos como verificar todos os objetos no Recycle Bin e na segunda parte verificamos se um objeto específico foi excluído.
1. Para visualizar quais objetos estão no Recycle Bin, abra novamente o PowerShell e execute os seguinte comando pressionando Enter logo depois. Em DC, troque para seu domínio, nosso exemplo é Woodgrovebank.com.
Get-ADObject –SearchBase “CN=Deleted Objects,DC=Woodgrovebank,DC=Com” –ldapFilter “(objectClass=*)” -includeDeletedObjects
Obtemos o seguinte resultado, contendo os objetos que excluímos do Active Directory Users and Computers.
2. Para visualizar se um objeto específico se encontra no Recycle Bin, execute o comando abaixo. Neste exemplo, procuraremos o objeto usuário “John Smith” e a OU “Brazil” .
Get-ADObject –Filter {Name –Like “*John Smith*”} –SearchScope Subtree –includeDeletedObjects | Format-List
Obteremos o seguinte resultado:
Note que o objeto usuário John Smith possui informações em ObjectGUID. Guarde esta informação, pois usaremos esta informação para recuperar o objeto.
Abaixo está o resultado esperado quando procuramos pela OU Brazil.
Recuperando Objetos Excluídos
Descreveremos agora como recuperar os objetos excluídos. Lembre-se de obter o ObjectGUID do objeto que está no Recycle Bin.
1. No PowerShell, execute o comando abaixo e pressione Enter. Em <ObjectGUID> use a informação que obtemos no item anterior para o usuário “John Smith”.
Restore-ADObject –Identity <objectGUID>
Nosso exemplo resulta em uma falha. Esta falha indica que os objetos pais do nosso usuário não existem.
2. Para identificar os objetos pais do usuário, execute o comando abaixo. Este comando nos mostra que o usuário John Smith pertence a um objeto que também foi excluído.
Get-ADObject –Filter ‘Name –Like “*John Smith*”’ –SearchScope Subtree –includeDeletedObjects –properties lastKnownParent | Format-List
3. Para restaurar o objeto OU Brazil, execute o comando abaixo trocando <ObjectGUID> pelo valor que obtivemos anteriormente. A figura abaixo ilustra os dois comandos executados em seguida.
Após executarmos a recuperação do objeto OU Brazil, não há necessidade de recuperar o usuário John Smith ou o grupo Consultants, já que estes faziam parte da OU em questão. Restaurando a OU, restauramos também todos os objetos nela contidos.
Todo o procedimento de recuperação de objetos também pode ser feito usando o ldp.exe.
Abraços,
Paula Maeda