martes, 1 de diciembre de 2015

Inventariar equipos (PC, laptops y servidores) con Systeminfo

Dentro del sistema Operativo Windows 7 existe un comando que nos entrega toda la informacion de un PC, tanto local como en la red. 

El comando se llama systeminfo y se ejecuta directamente dentro de una consola.


El resultado del comando es un resumen del equipo consultado con informacion del hardware y software Microsoft, incluso, con sus actualizaciones.


Lo mejor de este comando es que puede ejecutarse para extraer información de equipos remotos en la red, para ello tenemos las siguientes opciones:

/s : Permite especificar el nombre del equipo a consultar. 

Ejemplo: systeminfo /s Servidor
NOTA: sino se declara este parametro consulta el equipo local.

/u: permite especificar el nombre de usuario para conectarse a un equipo remoto

Ejemplo: systeminfo /s Servidor /u dominio\usuario

/p: permite especificar la password del usuario

Ejemplo: systeminfo /s Servidor /u dominio\usuario /p PASSWORD

/FO : permite definir un formato de salida para la respuesta, puede ser en formato TABLE, CSV o LIST.

Ejemplo: systeminfo /s Servidor /u dominio\usuario /p PASSWORD /FO LIST.

Ahora lo interesante de estos comandos es que podemos generar un BAT apuntando a los equipos del dominio e inventariar todos ellos con un solo doble clic. Para lo cual debemos tener claro los siguientes pasos:

1) Archivo de Equipos: es una especie de base de datos, simplemente es un archivo TXT con los nombres de los equipos a inventariar. Ejemplo de un archivo:


El archivo se llama PC.txt y simplemente le agregue un equipo de la red y el mio para conectar y extraer informacion.

2) BAT para ejecutar automáticamente la tarea, Le dejo el archivo .BAT para que lo copien y ejecuten.

Simplemente copien el codigo (el cual extraje de un sitio y simplemente lo adopte a mis necesidades) y lo almacenan como.bat.

@echo off
setlocal enableextensions
for /f %%s in ('type "PC.txt"') do call :PROCESS %%s
goto :END

:PROCESS
systeminfo.exe /s %1 /u dominio\usuario /p password > %1.txt
goto :EOF

:END
endlocal

Los parámetros a cambiar serian:

('type "PC.txt"'): Deben indicar el nombre del archivo TXT donde están los nombre de los equipos de dominio, si esta en la misma carptea del .BAT no es necesario generar rutas.

/u dominio\usuario /p password: en Dominio\usuario ingrese el su dominio y el usuario para ejecutar la tarea, les recomiendo utilizar en usuario con privilegios, puede ser el administrador de dominio, eso es a criterio del administrador que ejecutara la tarea. En password, simplemente la password del usuario declarado.

Comentario:

%1.txt . El resultado de la consulta de casa equipo quedara en un TXT con el nombre de este. Recomiendo no modifcar esta variable.

al ejecutar este BAT el resultado debería ser el siguiente:


donde los TXT de PC1 y Localhost don los equipos que estan en el archivo PC.

Saludos y si logro mejorar y agregar funcionalidades al script lo actualizo.....