none
Exportar e importar users com script, ajuda! RRS feed

  • Pergunta

  • Prezados,

      Gostaria de uma ajuda para exportar os users, contact, groups, etc... 
      Queria um script que exporte todos os users para um tabela no excel e depois um para importar todos users da tabela para o ad. Queria o mesmo para contact e groups. Isso é possivel? Alguem pode me ajudar por favor?
    sexta-feira, 25 de setembro de 2009 12:45

Respostas

  • Olá,

    Faça conforme o exemplo abaixo:

    Set objExcel = CreateObject("Excel.Application")

    Set objWorkbook = objExcel.Workbooks.Open ("C:\users.txt")
    intRow = 1


    Do Until objExcel.Cells(intRow,1).Value = ""
     
        nome= objExcel.Cells(intRow, 1).Value
        dn= objExcel.Cells(intRow, 2).Value
     

    Set objOU = GetObject("LDAP://" & dn)
    Set objComputer = objOU.Create("user", "cn="&nome)

    objComputer.put "name",nome
    objComputer.setinfo
    objComputer.AccountDisabled = False
    objComputer.setinfo
    wscript.echo cn
    intRow = intRow + 1
    Loop

    objExcel.Quit




    Você vai precisar colocar os outros campos conforme estão no seu arquivo exportado.

    Com o ldifde você não conseguiu???? É bem fácil também.


    Até mais,

    Jesiel

    Obs.: Se útil, classifique



    sexta-feira, 25 de setembro de 2009 16:16

Todas as Respostas

  • Olá,

    Verifique com o ldifde:
    http://support.microsoft.com/kb/237677/pt-br


    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    sexta-feira, 25 de setembro de 2009 14:07
  • Jesiel,

    Tudo bom?

    Olha arrumei esse script que exporta todos os users do AD para o Excel:

    SET objRootDSE = GETOBJECT("LDAP://RootDSE")
    strExportFile = "C:\MyExport.xls" 

    strRoot = objRootDSE.GET("DefaultNamingContext")
    strfilter = "(&(objectCategory=Person)(objectClass=User))"
    strAttributes = "sAMAccountName,userPrincipalName,givenName,sn," & _
                                    "initials,displayName,physicalDeliveryOfficeName," & _
                                    "telephoneNumber,mail,wWWHomePage,profilePath," & _
                                    "scriptPath,homeDirectory,homeDrive,title,department," & _
                                    "company,manager,homePhone,pager,mobile," & _
                                    "facsimileTelephoneNumber,ipphone,info," & _
                                    "streetAddress,postOfficeBox,l,st,postalCode,c"
    strScope = "subtree"
    SET cn = CREATEOBJECT("ADODB.Connection")
    SET cmd = CREATEOBJECT("ADODB.Command")
    cn.Provider = "ADsDSOObject"
    cn.Open "Active Directory Provider"
    cmd.ActiveConnection = cn

    cmd.Properties("Page Size") = 1000

    cmd.commandtext = "<LDAP://" & strRoot & ">;" & strFilter & ";" & _
                                       strAttributes & ";" & strScope

    SET rs = cmd.EXECUTE

    SET objExcel = CREATEOBJECT("Excel.Application")
    SET objWB = objExcel.Workbooks.Add
    SET objSheet = objWB.Worksheets(1)

    FOR i = 0 To rs.Fields.Count - 1
                    objSheet.Cells(1, i + 1).Value = rs.Fields(i).Name
                    objSheet.Cells(1, i + 1).Font.Bold = TRUE
    NEXT

    objSheet.Range("A2").CopyFromRecordset(rs)
    objWB.SaveAs(strExportFile)


    rs.close
    cn.close
    SET objSheet = NOTHING
    SET objWB =  NOTHING
    objExcel.Quit()
    SET objExcel = NOTHING

    Wscript.echo "Script Finished..Please See " & strExportFile


    Como faço para importar para outro AD usando essa planilha do Excel?
    sexta-feira, 25 de setembro de 2009 14:28
  • Olá,

    Faça conforme o exemplo abaixo:

    Set objExcel = CreateObject("Excel.Application")

    Set objWorkbook = objExcel.Workbooks.Open ("C:\users.txt")
    intRow = 1


    Do Until objExcel.Cells(intRow,1).Value = ""
     
        nome= objExcel.Cells(intRow, 1).Value
        dn= objExcel.Cells(intRow, 2).Value
     

    Set objOU = GetObject("LDAP://" & dn)
    Set objComputer = objOU.Create("user", "cn="&nome)

    objComputer.put "name",nome
    objComputer.setinfo
    objComputer.AccountDisabled = False
    objComputer.setinfo
    wscript.echo cn
    intRow = intRow + 1
    Loop

    objExcel.Quit




    Você vai precisar colocar os outros campos conforme estão no seu arquivo exportado.

    Com o ldifde você não conseguiu???? É bem fácil também.


    Até mais,

    Jesiel

    Obs.: Se útil, classifique



    sexta-feira, 25 de setembro de 2009 16:16