
Existem situações nas quais temos a necessidade de mover usuários do Active Diretory entre OU’s (Unidades Organizacionais), tarefa que quando executada manualmente pode ocasionar além de erros, lentidão no processo.
A fim de melhorar este cenário, podemos fazer uso do poderoso Windows Power Shell, que sempre é muito útil quando se há o desejo de automatizar tarefas com o desejo que elas sejam executadas com rapidez.
Abaixo demonstrarei de uma forma rápida e prática como podemos fazer essa movimentação de usuários, tendo como exemplo um cenário de laboratório onde alguns funcionários da empresa foram demitidos, e os usuários têm de ser movidos para uma OU denominada “desativados”.
O primeiro passo a ser dado, é acessar as Ferramentas Administrativas ou o Gerenciador de Servidores, e abrir a ferramenta Usuários e Computadores do Active Directory.
Acessando via ferramentas administrativas:


Acessando via gerenciador do servidor:

Com a ferramenta aberta, devemos criar a unidade organizacional para onde os usuários serão movidos.
Selecione o local onde a OU ficará (no meu caso, sob a OU USUARIOS) e clique em “criar uma nova unidade organizacional no contêiner selecionado”.

Digite o nome da OU, e clique em OK.

Com a OU criada, clique sobre exibir e marque a opção “recursos avançados”.

Com isso, serão habilitadas algumas funções, inclusive uma que nos é fundamental para seguirmos com o processo.
Após a habilitação do recurso, clique com o botão direito sobre a OU criada, e vá em propriedades.
Com a janela aberta, clique em editor de atributos, e procure pela informação DistinguishedName.

Dê um clique duplo sobre o atributo e copie o valor do atributo gerada.

Essas informações são referentes ao domínio e as unidades organizacionais criadas, no meu caso específico, fica assim:
OU=DESATIVADOS é uma unidade organizacional localizada sob outra unidade organizacional, a OU=USUARIOS, ambas sob a OU principal, OU=1 – LAB, todas essas OU’s fazem parte do domínio LAB.LOCAL, referenciado por DC=LAB, DC=LOCAL.
Com o comando copiado, abra o PowerShell em modo administrador, e digite os seguintes comandos:

Importar o módulo do ActiveDiretory para utilização no Power Shell
Import-Module ActiveDirectory

O próximo comando é opcional, e traz como resultado uma listagem com os usuários desabilitados encontrados no AD, e a qual OU eles pertencem.
Search-ADAccount -AccountDisabled | Select-Object Name, DistinguishedName

O próximo comando é o que irá de fato mover os usuários para a OU escolhida, onde as informações entre aspas têm de ser substituídas pelos dados obtidos no editor de atributos do AD.
Search-ADAccount -AccountDisabled | Where {$_.DistinguishedName -notlike “*OU=Disabled Users*”} | Move-ADObject -TargetPath “OU=Disabled Users,OU=losangeles,DC=world,DC=com”
No meu caso, o comando já editado fica assim:
Search-ADAccount -AccountDisabled | Where {$_.DistinguishedName -notlike “OU=DESATIVADOS”} | Move-ADObject -TargetPath “OU=DESATIVADOS,OU=USUARIOS,OU=1 – LAB,DC=LAB,DC=LOCAL”

Agora podemos rodar o comando de listagem de usuários desativados novamente, e notar que o DistinguishedName deles foi alterado, apontando para a OU Desativados.

Entrando novamente no Active Directory, nos deparamos com o novo cenário, já alterado de forma automática.

Eu fiz uma leitura deste codigo na internet e vi que ele me retorna que ira mover os usuários ATIVOS para O.U. que eu determinar, o comando executa corretamente ?