Usuário com melhor resposta
Exportar e importar users com script, ajuda!

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?
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
- Marcado como Resposta Reynaldo Stavale Jr quinta-feira, 22 de outubro de 2009 12:42
Todas as Respostas
-
-
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 = cncmd.Properties("Page Size") = 1000cmd.commandtext = "<LDAP://" & strRoot & ">;" & strFilter & ";" & _strAttributes & ";" & strScopeSET rs = cmd.EXECUTESET objExcel = CREATEOBJECT("Excel.Application")SET objWB = objExcel.Workbooks.AddSET objSheet = objWB.Worksheets(1)FOR i = 0 To rs.Fields.Count - 1objSheet.Cells(1, i + 1).Value = rs.Fields(i).NameobjSheet.Cells(1, i + 1).Font.Bold = TRUENEXTobjSheet.Range("A2").CopyFromRecordset(rs)objWB.SaveAs(strExportFile)rs.closecn.closeSET objSheet = NOTHINGSET objWB = NOTHINGobjExcel.Quit()SET objExcel = NOTHINGWscript.echo "Script Finished..Please See " & strExportFileComo faço para importar para outro AD usando essa planilha do Excel?
-
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
- Marcado como Resposta Reynaldo Stavale Jr quinta-feira, 22 de outubro de 2009 12:42