none
Script VBS para deletar usuarios de uma Ou no AD RRS feed

  • Pergunta

  • PEssoa Boa Tar

    Rodei muito mais nao achei , atualmente estou utilizando AD em uma rede Academica, e precisaria de um script vbs para deletar todos os usuarios de uma OU , simplesmente preciso deletar so isso pois utilizou um outro scrip que constantemente adiciona para colocar novos usuarios no AD..

    Desde ja Agradeço

    "Obs: precisa ser vbs pois tenho mais de 5000 usuários no AD"

    Muito Obrigado desde ja.

    segunda-feira, 4 de agosto de 2014 16:09

Respostas

  • Veja que as duas opções que te passei são semelhantes, primeiro seleciona depois apaga.

    Teste primeiro apenas o comando que seleciona: DSQUERY. Se isso não funciona então você está fazendo algo errado.

    O comando DSQUERY tem que retornar todos os usuários com o nome distinto. é um comando muito simples.

    dsquery user "OU=Test,dc=ms,dc=tld" 

    Se não funcionar, tente adicionar o parametro scope

    dsquery user "OU=Test,dc=ms,dc=tld" -scope subtree

    Se o comando funcionar basta você complementar o comando com o "|" (pipe) + comando dsrm

    Observações:

    1 - O nome da OU tem que estar escrito corretamente, o nome completo. Você pode ter escrito errado.

    2 - Se não funciona com o dsquery não adianta você partir para o VBScript, é muito mais complexo neste caso.

    3 - Ajudaria a te ajudar se você postasse o comando que você tentou e não funcionou.


    Fábio de Paula Junior



    terça-feira, 5 de agosto de 2014 14:08
    Moderador

Todas as Respostas

  • Zeroxissk,

    Para excluir um usuário no AD, é necessário que este usuário não esteja mais vinculado com outros objetos do AD.

    Existe um post no Fórum Americano com um bom exemplo sobre como você deve realizar esta tarefa, veja abaixo:

    http://social.technet.microsoft.com/Forums/scriptcenter/en-US/11957dbc-e17f-4ed5-ace0-494a78b57c58/script-to-delete-ad-users-profiles-and-home-drives

    http://msdn.microsoft.com/en-us/library/aa772123(v=vs.85).aspx


    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    segunda-feira, 4 de agosto de 2014 16:39
  • Penso que a forma mais simples seria usar o dsquery + dsrm em um arquivo .BAT

    dsquery user "OU=Test,dc=ms,dc=tld" | dsrm

    Com PowerShell seria algo semelhante usando o módulo ActiveDirectory

    Get-ADUser -SearchBase "OU=Test,dc=ms,dc=tld" -Filter * | Remove-ADUser

    Não testei.


    Fábio de Paula Junior

    segunda-feira, 4 de agosto de 2014 18:06
    Moderador
  • Entao é assim

    Eu tenho Atualmente 10000 Alunos dentro do AD , porem o AD é um servidor onde os alunos se logam nos terminais .

    Quase todo Dia eles mudam a senha no site , onde que tudo que eles alteram vai para o MYSQL onde eu tenho uma planilha vinculada.

    Eu adiciono os user todos os dias manualmente via Script VBS atraz da planilha , por isso precisaria de um script somente para deletar todos os usuarios da OU - "FAC" , para que o script os adicione novamente.

    segunda-feira, 4 de agosto de 2014 18:20
  • Sobre o código que passei você tem que alterar os scripts para o caminho da sua OU FAC, tentou isso?

    Teste. Se deu erro, mande a mensagem de erro.


    Fábio de Paula Junior

    segunda-feira, 4 de agosto de 2014 20:05
    Moderador
  • Fabio testei e nao funcionou pois tb minha OU esta Assim

    AD - FAC - C2 - ALunos

    mesmo apontando que todos users estao dentro da Ou ALunos ele nao deleta. =/

    Se por acaso tive-se um vbscript para fazer isso seria mais simples.

    segunda-feira, 4 de agosto de 2014 20:41
  • Veja que as duas opções que te passei são semelhantes, primeiro seleciona depois apaga.

    Teste primeiro apenas o comando que seleciona: DSQUERY. Se isso não funciona então você está fazendo algo errado.

    O comando DSQUERY tem que retornar todos os usuários com o nome distinto. é um comando muito simples.

    dsquery user "OU=Test,dc=ms,dc=tld" 

    Se não funcionar, tente adicionar o parametro scope

    dsquery user "OU=Test,dc=ms,dc=tld" -scope subtree

    Se o comando funcionar basta você complementar o comando com o "|" (pipe) + comando dsrm

    Observações:

    1 - O nome da OU tem que estar escrito corretamente, o nome completo. Você pode ter escrito errado.

    2 - Se não funciona com o dsquery não adianta você partir para o VBScript, é muito mais complexo neste caso.

    3 - Ajudaria a te ajudar se você postasse o comando que você tentou e não funcionou.


    Fábio de Paula Junior



    terça-feira, 5 de agosto de 2014 14:08
    Moderador
  • Fabio Bom dia , eu nao consegui usar esse comando pode ser que estenha Errado em alguma coisa

    Pois meu AD esta Assim

    FAC2
    --------C2  " 1º OU " essa Ou conten outras 2 ontras 2 onde fica os alunos e os terminais
    -----------ALUNOS --- Essa e a OU que contem todos os Usuarios ou seja Objetos que precisa ser deletada

    -----------COMPT

    Tentei usar o dsrm -subtree -exlude -noprompt -c "ou=ALUNOS, ou=C2,dc=FAC2,dc=com"

    ai ele me retorna Uma referencia foi retornada ao servidor , e so

    terça-feira, 5 de agosto de 2014 16:05
  • Eu pedi pra você usar o dsquery e você usou o dsrm. :-(

    Me responda duas coisas:

    O seu dominio se chama fac2.com ?

    Qual o resultado que traz pra você o seguinte comando?

    DSQUERY USER "ou=ALUNOS,ou=C2,dc=FAC2,dc=com"


    Fábio de Paula Junior


    terça-feira, 5 de agosto de 2014 16:52
    Moderador
  • Fabio

    Executei o Comando

    DSQUERY USER "ou=ALUNOS,ou=C2,dc=FAC2,dc=com"

    DSQUERY Falha: nenhuma referencia superior foi configurada para o serviço de diretorio. Portanto, o serviço de diretorio nao pode emitir referencias a objetos fora desta floresta.

    terça-feira, 5 de agosto de 2014 18:01
  • Provavelmente o nome da OU que você está colocando no comando está errado.

    Execute este comando e poste o resultado aqui no fórum, vamos descobrir qual o nome dessa sua OU.

    dsquery ou | find /i "Alunos"
    Ele vai listar todas suas "OU"s que contém Alunos no nome.


    Fábio de Paula Junior

    terça-feira, 5 de agosto de 2014 18:40
    Moderador