martes, 28 de junio de 2011

Registro de DNS

Siguiendo el hilo del post anterior, también se puede saber el domino de un equipo consultando cual es el DNS en el que se registra.

Para saber en qué dominio un equipo está registrando los DNS, basta con escribir:

nslookup NOMBRE_DE_EQUIPO

 Si se quisiera realizar de forma automatizada, se debe armar un batch (.BAT o .CMD) con lo siguiente:

@echo off
for /f %%a in (C:\Script\lista.txt) do call :process %%a
goto :eof
:process
set srv=%1
for /f "tokens=2" %%b in ('nslookup %srv%^|find /i "Name"') do echo %srv% dominio  %%b >> C:\Script\nslookup_results.txt

 Este batch exportará la información que el comando NSLOOKUP consiga de los equipos dentro del archivo "lista.txt" y la plasmará en un txt llamado "nslookup_results.txt".

El resultado sería algo así:

S409623 dominio  S409623.mi.dominio.com

lunes, 27 de junio de 2011

Información remota

Estando en un proyecto de migración de dominio me resulta indispensable saber en qué dominio se encuentra cada uno de los equipos.

Para ello bastaría con hacer click derecho en "Mi PC", luego ir a "Propiedades" y finalmente clickear en el TAB de "Nombre de Equipo".

Para mi fortuna, son mas de seis mil equipos en la compañía, con lo cual tuve que buscar una alternativa que de forma remota me traiga esta información, y me topé con WMIC.

WMIC es una poderosa herramienta que trabaja en linea de comandos. Esta herramienta puede obtener de forma remota miles de datos e incluso ejecutar varios comandos.

Bastaría con escribir "wmic /node:NOMBRE_DE_EQUIPO computersystem get domain /value" para que me traiga el dominio en el que se encuentra.
(note for noobs: NOMBRE_DE_EQUIPO se debe remplazar por el nombre del equipo a consultar).

Para automatizar este proceso hay que plasmar este comando en un proceso batch (BAT o CMD).

He aqui el código:
@echo off
date /t > C:\Script\wmic_results.txt
for /f %%a in (C:\Script\lista.txt) do call :process %%a
goto :eof
:process
set srv=%1
for /f "tokens=2 delims==" %%b in ('wmic /node:%srv% computersystem get domain /value') do echo %srv%    %%b >> C:\Script\wmic_results.txt
Esto se debe escribir en un .BAT o un .CMD, y ejecutarlo bajo la cuenta de Domain Admin (o con privilegios para administrar la máquina remota).

Tener en cuenta que para el script se debe crear una carpeta en C:\ llamada "Script", y crear un archivo de texto llamado lista.txt, el cual debe contener todos los equipos que necesitemos la información de dominio.

Dará como resultado un documento de texto llamado "wmic_results.txt" que tendrá algo similar a esto:

Thu 06/23/2011 
k409623    mi.dominio.com

domingo, 26 de junio de 2011

Obtener datos del Active Directory

Muchas veces uno necesita extraer datos de determinados campos (o atributos) del Active Directory y plasmarlos en una planilla para poder trabajar con ellos.


Para ello existe una función que yo llamo "ObtDatos".


La sintaxis para llamar la función sería la siguiente:

"=ObtDatos(CAMPO DE BUSQUEDA, valor a buscar, Devolver CAMPO)"

En un caso práctico, esta función quedaría de la siguiente forma:

=ObtDatos(“cn”; A2; “mail”)


Suponiendo que en la celda "A2" tenemos el "CN" (Canonical Name), y queremos como resultado el "Mail".

Esta misma función se puede aplicar a todos los atributos de LDAP.

sábado, 25 de junio de 2011

Otra vez

Una vez mas reabriendo el blog.


"La vida es un largo camino de tolerancia a la frustración."