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