Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: dathax en 22 Enero 2014, 18:49 pm



Título: Script para organizar Active Directory
Publicado por: dathax en 22 Enero 2014, 18:49 pm
Buenas,

Tengo un problemilla, estoy intentando sacar un script (.bat) para organizar usuarios de AD, tengo un excel con un campo año y otro campo con su usuario de AD. Necesitaria un script que a partir de esa información me organice en una carpeta (ACTIVOS) los usuarios que en el campo año tienen 2013 y 2012. El problema es que no acabo de encontrar como hacer para que me coja la información del excel.

Alguna idea?

Gracias!


Título: Re: Script para organizar Active Directory
Publicado por: jdomgo3 en 22 Enero 2014, 20:06 pm
Aunque hay librerías para ello, lo mejor es trabajar con el formato csv (valores separados por coma), que es legible por excel, y es básicamente un archivo de texto plano con valores separados por un delimitador que por defecto es la coma o el punto y coma.


Título: Re: Script para organizar Active Directory
Publicado por: dathax en 22 Enero 2014, 23:53 pm
Buenas,

Si entiendo que es mejor trabajar con CSV, el caso es que no se como recorrer el archivo para ir ordenando los usuarios. He buscado y no encuentro como hacerlo para Windows, en bash si que lo tengo más claro como recorrer archivos de texto...

Salduso


Título: Re: Script para organizar Active Directory
Publicado por: jdomgo3 en 23 Enero 2014, 07:30 am
Mmm... en Windows no te puedo ayudar mucho, hace un porrón de años que no hago nada en BATCH. Te recomiendo que te instales en tu Windows el Moba Xterm (http://mobaxterm.mobatek.net/), convierte tu Windows en un Unix standard y funciona de maravilla, desde mi punto de vista mucho mejor que un Cywing de los de toda la vida. Así puedes trabajar en Windows como si estuvieras en un Unix, y tiene muchos plugins y librerías para añadir.

Para recorrer archivos de texto en Unix lo puedes hacer con un montón de mandatos de sistema, los mas utilizados son sed y awk.

Un saludo.


Título: Re: Script para organizar Active Directory
Publicado por: Eleкtro en 27 Enero 2014, 13:48 pm
Batch es la peor elección para tareas como esta, aunque se puede llegar a hacer es mejor que lo olvides, requiere demasiada escritura de código comparado con cualquier otro lenguaje, Batch es una herramienta demasiado incompetente y en casos como este es complétamente inutil.

La proposición de "convertir windows en Linux" sólamente para codear un script funcional en mi opinión es algo muy exagerado y complétamente innecesario, ya que existen decenas de buenos lenguajes compatibles con Windows, por eso antes que instalar Linux en Windows es preferible instalar el interprete de un lenguaje compatible con Windows (Ruby/Python/Perl etc...).

De todas formas eso tampoco es necesario, ya que en Windows puedes usar de forma nativa javascript, VisualBasicScript y PowerShell, que tienen métodos para crear arrays y todo lo demás que llegues a necesitar para este script que precisas (cosa que Batch, no tiene).

Ejemplo en VisualBasicScript:
Código
  1. CSVLine = "Val1; Val2; Val3; Val4; Val5"
  2. Tokens = Split(CSVLine, ";")
  3.  
  4. For Each Token in Tokens
  5. Wscript.Echo(Token)
  6. Next
  7.  
  8. Wscript.Quit(0)

Saludos