Inquiridor
Remover usuários de Grupos

Pergunta
-
Bom dia,
No meu trabalho tenho uma OU que contem vários usuários, esses usuários pertencem a vários grupos.
Preciso remover eles desses grupos ( cujo não sei quais são, pois são muitos usuários ) e deixar somente no grupo Usuários do Domínio.
Como poderia fazer?
- Editado Fábio JrModerator quinta-feira, 5 de fevereiro de 2015 15:38 título
Todas as Respostas
-
Fala meu amigo, Boa Tarde.
Verifique se o comando abaixo lhe ajuda:
Get-QADUser -Name $username | Remove-QADMemberOf -RemoveAll
Só um detalhe, o ideal é que você crie uma OU com usuários para realizar testes antes de realizar no ambiente de produção. Para especificar a OU, siga a sintaxe abaixo:
Get-QADuser -searchroot 'dominioexemplo.local/UserAccounts' -ldapfilter '(department=Teste)
Atenciosamente,
Sergio Figueiredo
Microsoft Certified Solutions Associate -
Antes de mais nada, o cmdlet Get-QADUser não é um cmdlet nativo e precisa de um pacote chamado ActiveRoles Management Shell for Active Directory da Quest, adquirida pela DELL, para ser possível utilizá-lo, tal como outros cmdlets desta suite.
Instale o pacote ActiveRoles Management Shell for Active Directory 1.7 disponível em https://support.software.dell.com/pt-br/download-install-detail/5024645, abra o console disponível em "All Programs > Quest Software" e execute o script abaixo adaptando a sua necessidade:
Foreach ($User in (Get-QADUser -SearchRoot 'OU=Users,OU=BRA,DC=NoSafeForWork,DC=local'))
{
(Get-QADUser $User).MemberOf | Get-QADGroup | Where {$_.Name -ne "Domain Users"} | Remove-QADGroupMember -Member $User
}Explicando:
Foreach ($User in (Get-QADUser -SearchRoot OU=Users,OU=BRA,DC=NoSafeForWork,DC=local))
Procura todas as contas de usuários que estão localizadas na OU=Users,OU=BRA,DC=NoSafeForWork,DC=local e armazena cada conta encontrada na variável $User.
(Get-QADUser $User).MemberOf
Obtem todos os grupos que a conta de usuário armazenada na variável $User é membro.
Get-QADGroup | Where {$_.Name -ne "Domain Users"}
Implicitamente recebe o resultado do comando anterior para procurar o nome dos grupos em todo o domínio que não seja o grupo "Domain User".
Remove-QADGroupMember -Member $User
Implicitamente recebe o resultado do comando anterior se o grupo for encontrado e remove o usuário armazenado na variável $User do grupo.
That's it!
- Sugerido como Resposta 4HorsemenOfDaIT quinta-feira, 26 de novembro de 2015 01:47
-
Obrigado pela resposta, não testei ainda.
Duvida, eu vou trocar todas as variáveis$user pela OU que os usuários estão.
ou o $user se refere ao contêiner user do AD.- Editado W4gn3rRodr1gu3s quinta-feira, 29 de janeiro de 2015 18:27
-
A única informação que você deve alterar é o DN de exemplo que eu utilizei para o DN de seus objetos: OU=Users,OU=BRA,DC=NoSafeForWork,DC=local
- Sugerido como Resposta 4HorsemenOfDaIT quinta-feira, 26 de novembro de 2015 01:47