sexta-feira, 17 de setembro de 2010

Apagando Contas de Computadores no AD com Linha de Comando

Hoje, tive uma demanda na empresa onde trabalho de apagar 700 contas de computadores no Active Directory (AD) e como fazer isso uma a uma é uma tarefinha digamos de "corno", então, graças ao Google e meu amigo Gessy Jr (ele que me arrumou este serviço), achei um Script (claro, refazer a roda não é mais necessário) que faz o bendito serviço sem muito se desgastar, segue o procedimento:

1- Copie o nome dos computadores que serão “deletados” dentro de um arquivo com o nome inativos.txt conforme o exemplo abaixo:

comp01
comp02
comp03

2- Copie o script abaixo para dentro de um arquivo .txt e renomeie para Apaga_Inativos.vbs e na linha strDomain = "meudominio.local" troque o meudominio.local para o nome do seu domínio:

Dim objDC
Dim strComputer, strDomain


strDomain = "meudominio.local"

Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.OpenTextFile("inativos.txt")
Set objDC = getobject("WinNT://" & strDomain )
On Error Resume Next
Do until f1.atEndOfStream
On Error Resume Next
strComputer = f1.readline
objDC.Delete "Computer", strComputer
If Err.Number <> 0 Then
Err.Clear
Wscript.Echo "NOT FOUND: " & strComputer
Else
On Error GoTo 0
Wscript.Echo "Deleted: " & strComputer
End If
On Error GoTo 0
Loop


3- Execute o arquivo, mas caso deseje que gere um arquivo de resposta basta apenas adicionar > nomedorelatorio.txt:

Ex: c:\script\Apaga_Inativos.vbs > nomedorelatorio.txt

Observações:
- Os arquivos inativos.txt e Apaga_Inativos.vbs devem está no mesmo local (ou no mesmo diretório);
- Você precisará ter direitos administrativos no seu domínio para executar este script.