Segue um script que utilizo aqui na empresa:
' UserSpreadsheet .vbs
' Sample VBScript to create User accounts from a spreadsheet
' Author Guy Thomas http://computerperformance.co.uk/
' Version 4.6 - June 2005
' ------------------------------------------------------'
'-----------------------------------------------------------------------------------------------------------------
' 29/07/2010
' Criar usuario no AD
'---------------------------------------------------------------------------------------------------
' ---- Criacao das variaveis
Option Explicit
Dim objRootLDAP, objContainer, objUser, objShell
Dim objExcel, objSpread, intRow
Dim strUser, strOU, strSheet
Dim strCN, strSam, strFirst, strLast, strPWD, strDNSDomain
' ---- Variavel senha
strPWD = "123@testado"
' -------------------------------------------------------------'
' Importante modificar a OU= e o caminho de acordo com o dominio
' -------------------------------------------------------------'
on error resume next
strOU = "OU=Sua_OU,"
strSheet = "\\caminho_arquivo\SeuExcel.xls"
' ---- Conexao com AD
Set objRootLDAP = GetObject("LDAP://rootDSE")
Set objContainer = GetObject("LDAP://"& strOU & objRootLDAP.Get("defaultNamingContext"))
strDNSDomain = objRootLDAP.Get("defaultNamingContext")
' ---- Abertura da planilha do excel
Set objExcel = CreateObject("Excel.Application")
Set objSpread = objExcel.Workbooks.Open(strSheet)
intRow = 3 'Row 1 often contains headings
' ---- Inicio da leitura do excel linha p/ linha
Do Until objExcel.Cells(intRow,1).Value = ""
strSam = Trim(objExcel.Cells(intRow, 1).Value)
strCN = Trim(objExcel.Cells(intRow, 2).Value)
strFirst = Trim(objExcel.Cells(intRow, 3).Value)
strLast = Trim(objExcel.Cells(intRow, 4).Value)
' ---- Cria o usuario a partir de dados da planilha excel
Set objUser = objContainer.Create("User", "cn=" & strCN)
objUser.sAMAccountName = strSam
objUser.givenName = strFirst
objUser.sn = strLast
objUser.displayName = strFirst &" " & strLast
objUser.userPrincipalName = strSam &"@"& "teste.com.br"
objUser.SetInfo
WScript.Echo "Dados AD adicionados!!!"
WScript.Echo "Senha alterada para 123@testado!!!"
WScript.Echo "Usuario -> " & strFirst &" " & strLast
' ---- Habilita conta de usuario com senha
objUser.userAccountControl = 512
objUser.SetInfo
objUser.pwdLastSet = 0
objUser.SetInfo
objUser.SetPassword strPWD
objUser.SetInfo
intRow = intRow + 1
Loop
objExcel.Quit
WScript.Quit
Seu arquivo do excel deverá ficar assim:
sAMAccountName |
CN |
GivenName |
SN |
1 |
2 |
3 |
4 |
teste.cwb1 |
Teste Script CWB1 |
Teste |
Script CWB1 |
teste.cwb2 |
Teste Script CWB2 |
Teste |
Script CWB2 |
Se tiver alguma duvida pergunte. Caso for uma senha igual para todos os usuarios poderá deixar a senha dentro do Script VBS, senão deverá criar mais uma coluna com a senha. Testei o script e ta funcionando.