Usuário com melhor resposta
Script VBS para deletar usuarios de uma Ou no AD

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.
- Movido Luiz Felipe S. T. Costa segunda-feira, 4 de agosto de 2014 16:31
- Tipo Alterado Fábio JrModerator segunda-feira, 4 de agosto de 2014 20:04 é pergunta
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
- Editado Fábio JrModerator terça-feira, 5 de agosto de 2014 14:14
- Sugerido como Resposta Fábio Santos Gomes terça-feira, 5 de agosto de 2014 15:32
- Marcado como Resposta Fábio JrModerator segunda-feira, 11 de agosto de 2014 14:25
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://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 RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil" -
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
-
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.
-
-
-
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
- Editado Fábio JrModerator terça-feira, 5 de agosto de 2014 14:14
- Sugerido como Resposta Fábio Santos Gomes terça-feira, 5 de agosto de 2014 15:32
- Marcado como Resposta Fábio JrModerator segunda-feira, 11 de agosto de 2014 14:25
-
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 -
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
- Editado Fábio JrModerator terça-feira, 5 de agosto de 2014 16:57
-
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.
-
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