none
Remover usuários de Grupos RRS feed

  • 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?


    quinta-feira, 29 de janeiro de 2015 14:43

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

    quinta-feira, 29 de janeiro de 2015 15:16
  • 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
    quinta-feira, 29 de janeiro de 2015 15:30
  • 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.
    quinta-feira, 29 de janeiro de 2015 18:25
  • 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
    segunda-feira, 2 de fevereiro de 2015 20:57