none
Criar user e senha no AD aparti de uma lista em .cvs RRS feed

  • Pergunta

  •  

    Ola pessoal,

     

    Andei pesquisando aqui no forum achei muitos script parecidos + que possuiam mais funcionalidaddes do que estou procurando. Tipo: Um script para criação de usuário aparti de uma lista em .cvs ou excel, onde  o arquivo .CSV possua todos os dados iniciano: NOME;LOGIN;SENHA  só isso adicionando na OU que eu criei no AD.

    OBS - Obrigar no primeiro acesso com a senha pedir a trocar a mesma que foi estipulada pelo arquivo CSV..

    Agradeço pela ajuda! galera! Abraço!!!

    terça-feira, 13 de julho de 2010 16:40

Respostas

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

     

     

    quinta-feira, 29 de julho de 2010 19:17