NorfiPC
NorfiPC » Comandos » Comandos de WMIC

Usar los comandos WMIC en Windows con CMD o la Terminal

Como usar los comandos de WMIC con la consola o archivos batch, para obtener datos, información de la PC y ejecutar tareas. Códigos y ejemplos prácticos.
Usar los comandos de la consola de WMIC en Windows

En Windows tenemos disponible una poderosa herramienta poco conocida y utilizada que permite administrar el sistema de forma eficiente.
Es otra alternativa para obtener información del equipo y del sistema operativo mediante la línea de comandos.
Solo se precisa algunas líneas de código que podemos introducir en la consola de CMD o usar en un archivo batch.
Son los comandos de WMIC, que poseen una multitud de opciones para ejecutarlos.


¿Qué es WMIC en Windows?


WMIC son las iniciales de Windows Management Instrumentation Console, la Consola de WMI (en español, Instrumental de administración de Windows).
Mediante WMIC es posible la administración de equipos, tanto locales como remotos y es posible ejecutar cualquier tipo de tareas como obtener información, iniciar, detener, pausar procesos y servicios así como cambiar cualquier tipo de configuración en el equipo al que se tenga acceso como administrador.
A continuación un breve artículo, que muestra solo algunos de los recursos disponibles en WMIC, mediante el uso de comandos.
Las posibilidades son inmensas y queda después de este artículo, de acuerdo el interés y al objetivo de cada uno, experimentar y encontrar las opciones necesarias.

Ejemplos de comandos para obtener información del sistema mediante WMIC


Algunos ejemplos de comandos que puedes usar para obtener toda la información sobre secciones completas de tu hardware, la salida en estos casos muestra la información en pantalla.


¿Cómo usar los comandos en WMIC?


Puedes usar los comandos de ejemplos de varias formas:
1- Cópialos y pégalos en la ventana una instancia del Símbolo del sistema.
2- Cópialos y pégalos en Inicio y presiona la tecla Enter.
En este caso tienen que estar antecedidos por: CMD /K. Por ejemplo:
CMD /K WMIC /Output:STDOUT BIOS get /all /format:LIST
3- Crea un archivo batch e inclúyelos en su interior.
De forma predeterminada la información que devuelve WMIC, se muestra en la pantalla del Símbolo del sistema en formato de lista.
Para escribirla en un archivo de texto sustituye el parámetro: /Output:STDOUT por /Output:lista.txt.
Para escribirla en un archivo para abrirlo y editarlo con Excel, sustituye el parámetro: /Output:STDOUT por /Output:lista.xls.


Comandos de ejemplos para usar WMIC


Obtener con WMIC información sobre el BIOS de la computadora
WMIC /Output:STDOUT  BIOS get /all /format:LIST
Ejemplo del uso de WMIC para obtener información del BIOS de la PC
Obtener con WMIC información sobre la CPU de la computadora
WMIC /Output:STDOUT  CPU get /all /format:LIST

Obtener con WMIC información sobre la unidad de CDROM
WMIC /Output:STDOUT  CDROM get /all /format:LIST

Obtener con WMIC información sobre el adaptador o tarjeta de redes
WMIC /Output:STDOUT  NICCONFIG get /all /format:LIST

Obtener con WMIC información sobre el sistema operativo
WMIC /Output:STDOUT  COMPUTERSYSTEM get /all /format:LIST

Obtener con WMIC información sobre él o los discos duros
WMIC /Output:STDOUT  DISKDRIVE get /all /format:LIST

Obtener con WMIC información sobre discos logicos
WMIC /Output:STDOUT  LOGICALDISK get /all /format:LIST

Obtener con WMIC información sobre la memoria RAM
WMIC /Output:STDOUT  MEMPHYSICAL get /all /format:LIST

Obtener con WMIC información sobre los servicios
WMIC /Output:STDOUT  SERVICE get /all /format:LIST

Obtener con WMIC información sobre los procesos
WMIC /Output:STDOUT  PROCESS get /all /format:LIST

Obtener con WMIC información sobre los programas en el inicio de Windows
WMIC /Output:STDOUT  STARTUP get /all /format:LIST

Obtener con WMIC información sobre los dispositivos en la tarjeta base o motherboard
WMIC /Output:STDOUT  ONBOARDDEVICE get /all /format:LIST

Obtener con WMIC información sobre errores del sistema operativo
WMIC /Output:STDOUT  RECOVEROS get /all /format:LIST


Como utilizar los comandos en WMIC, opciones


WMIC en cada sub-clave o Alias que peticionas te da una multitud de parámetros, que la mayor parte de ellos quizás no la necesites.
La opción es introducir en el código la lista de los parámetros específicos separados por coma, así la información que te devuelve es la verdaderamente necesaria.
Como el ejemplo a continuación, donde se peticionan los parámetros más utilizados en la subclave de LOGICALDISK.

Mostrar con WMIC información del disco duro

WMIC /Output:STDOUT  LOGICALDISK get DeviceID, VolumeName, Size, FreeSpace, FileSystem, Compressed, Description, MaximumComponentLength, QuotasDisabled, QuotasIncomplete, QuotasRebuilding, SupportsDiskQuotas, VolumeSerialNumber /Format:LIST

Mostrar con WMIC información de las unidades de disco

También puedes hacer la petición especificando la condición de un parámetro con la palabra where.
Por ejemplo para listar en LOGICALDISK solo las unidades de disco duro utiliza where drivetype=3 y para listar solo discos ópticos usa where drivetype=5, quedaría de la siguiente forma:

Listar unidades de disco duro
WMIC  LOGICALDISK where drivetype=3 get DeviceID, VolumeName, Size, FreeSpace, FileSystem,  Description

Listar unidades de discos opcticos (lectores CD)
WMIC  LOGICALDISK where drivetype=5 get VolumeName, Size, DeviceID, Description


Listar adaptadores de red con WMIC

De la misma forma al utilizar el Alias NICCONFIG lista todos los adaptadores de red.
Para obtener la información especificando la condición de solo el adaptador de red conectado en este momento quedaría asi:
WMIC NICCONFIG Where IPEnabled=TRUE get /format:list
Finalmente seleccionando solo algunos parámetros y salvándolos en un archivo de texto quedaría:
WMIC NICCONFIG Where IPEnabled=TRUE get DefaultIPGateway, Description, DNSServerSearchOrder, IPAddress, IPSubnet, MACAddress /format:list>"%userprofile%\Desktop\Datos adaptador de red".txt

Archivo batch para obtener WMIC información de la computadora


Con el siguiente archivo batch creado por el autor, se facilita la tarea de obtener información con WMIC, de varios parámetros de una computadora.
En la misma carpeta donde se ejecute, se crean archivos de texto con la información solicitada.
Crea el archivo bacth con el siguiente código.
Si tienes dudas lee el siguiente artículo que explica cómo crearlo: Qué son los archivos BATCH o BAT, usos prácticos y como crearlos
:: (c) Norfipc 2010 - http://norfipc.com
@ECHO OFF
mode con cols=55 lines=25
:start
cls
echo Que informacion necesitas listar?
echo.
echo 1. Informacion General
echo 2. Sobre el BIOS.
echo 3. Sobre la CPU.
echo 4. Las unidades de CDROM.
echo 5. Redes.
echo 6. Informacion del sistema.
echo 7. Unidades de disco.
echo 8. Discos Logicos
echo 9. Memoria fisica instalada.
echo 10. Servicios.
echo 11. Procesos.
echo 12. Dispositivos en el Board.
echo 13. Programas en el inicio.
echo 20. Errores en el sistema operativo.
echo.
echo 0. Salir.
echo.
set/p valor=           Escriba el numero determinado y pulse ENTER.
if %VALOR%== 0 goto SALIR
if %VALOR%== 1 goto ALL
if %VALOR%== 2 goto BIOS
if %VALOR%== 3 goto CPU
if %VALOR%== 4 goto CDROM
if %VALOR%== 5 goto REDES
if %VALOR%== 6 goto SYSTEM
if %VALOR%== 7 goto DISKDRIVE
if %VALOR%== 8 goto LOGICALDISK
if %VALOR%== 9 goto MEMPHYSICAL
if %VALOR%== 10 goto SERVICE
if %VALOR%== 11 goto PROCESS
if %VALOR%== 12 goto ONBOARDDEVICE
if %VALOR%== 13 goto STARTUP
if %VALOR%== 20 goto RECOVEROS
if %VALOR% GTR 20 echo Error esa opcion no existe
pause
goto start

pause>nul

:ALL
WMIC /Output:ALL.txt  OS get /all /format:LIST
goto start

:BIOS
WMIC /Output:BIOS.txt  BIOS get /all /format:LIST
goto start

:CPU
WMIC /Output:CPU.txt  CPU get /all /format:LIST
goto start

:CDROM
WMIC /Output:CDROM.txt  CDROM get /all /format:LIST
goto start

:REDES
WMIC /Output:REDES.txt  NICCONFIG get /all /format:LIST
goto start

:SYSTEM
WMIC /Output:SYSTEM.txt  COMPUTERSYSTEM get /all /format:LIST
goto start

:DISKDRIVE
WMIC /Output:DISKDRIVE.txt  DISKDRIVE get /all /format:LIST
goto start

:MEMPHYSICAL
WMIC /Output:MEMORIA.txt  MEMPHYSICAL get /all /format:LIST
goto start

:SERVICE
WMIC /Output:SERVICIOS.txt  SERVICE get /all /format:LIST
goto start

:ONBOARDDEVICE
WMIC /Output:DispositivosEnBoard.txt  ONBOARDDEVICE get /all /format:LIST
goto start

:LOGICALDISK
WMIC /Output:DiscosLogicos.txt  LOGICALDISK get /all /format:LIST
goto start

:PROCESS
WMIC /Output:Procesos.txt  PROCESS get /all /format:LIST
goto start

:RECOVEROS
WMIC /Output:ErroresSO.txt  RECOVEROS get /all /format:LIST
goto start

:STARTUP
WMIC /Output:ProgramasEnElInicio.txt  STARTUP get /all /format:LIST
goto start

:ERROR
cls
msg * Opcion no valida, prueba otra vez.
goto start


:SALIR
msg * Puede encontrar mas scripts utiles en http://norfipc.com 
EXIT    


Usar WMIC en otras tareas de Windows


WMIC también se puede utilizar en otras funciones no solo para extraer información, algunos ejemplos de su uso práctico son:
- Lista de procesos incubados en svchost.exe:
wmic process where (Name='svchost.exe') get name, processid, commandline

- Cambiar la prioridad de una aplicación:
wmic process where name="explorer.exe" call setpriority 64

- Comenzar una aplicación:
wmic process call create "notepad.exe"

- Terminar una aplicacion:
wmic process where name="notepad.exe" call terminate

- Administrar servicios:
wmic service where caption="DHCP Client" call changestartmode "Disabled"

- Habilitar dirección IP dinámica:
wmic nicconfig where index=9 call enabledhcp

- Establecer dirección IP estática:
wmic nicconfig where index=9 call enablestatic("192.168.16.4"), ("255.255.255.0")

- Saber la velocidad de la conexion de internet en Windows
wmic nic where netEnabled=true get name, speed
Se muestra la velocidad del adaptador de red activo en bits.

Usar WMI Code Generator para conocer otros comandos que permite WMIC


Toda la información anterior y más puedes obtenerla de WMI Code Generator (Generador de WMIC), aplicación HTA imprescindible para acceder a la multitud de datos que nos proporciona WMIC, que genera los códigos necesarios para hacer tu aplicación, ya sea en formato Batch, VBScript, PowerShell u otros más.

¿Cómo usar WMI Code Generator

Sigue los siguientes pasos:
Obten el código, crea la aplicación y ejecútala.
• Espera a que cargue por completo la aplicación y entonces en la ventana superior baja hasta que encuentres las clases de Win32.
• Selecciona la que te interese y en la parte inferior de la ventana selecciona el tipo de script a generar ya sea batch, VBScript, etc.
• Presiona el botón "Generar Código" y tendrás el necesario para crear tu propio script.

Conocer el estado de salud de un disco duro con WMIC


Lee como usar WMIC de formas diferentes, mediante la consola o creando un acceso directo, para conocer el estatus de un disco duro en Windows y obtener toda la información detallada del dispositivo
Conocer el estado de salud de un disco duro con WMIC en Windows



Páginas relacionadas