Ejecute el comando WMIC en la red

7

En lugar de escribir esto en un símbolo del sistema, uno a la vez:

wmic / node: ipaddress / user: administrador / contraseña: mypassword bios obtener número de serie

¿Cómo puedo ejecutar eso en una subred completa y enviarlo a un documento de texto? Como hago esto cada dos meses para verificar nuestro inventario de computadoras, supongo que habría una manera mucho más fácil de poner esto en un script por lotes en lugar de hacerlo manualmente.

C-mareo
fuente

Respuestas:

13

Puede poner una lista después node: node:ip1,ip2,ip3o usar un archivo node:@file, así que simplemente ponga todas sus direcciones IP en un archivo y luego ejecute:

wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csv

Eso supone que el usuario / contraseña es el mismo en todas las máquinas.

wmz
fuente
¿Hay alguna manera de enumerar las consolas en el archivo de salida que fallaron? La respuesta que recibo de algunos es "RPC no disponible" o algo así, quiero saber cuáles tengo que revisar y revisar debido a eso.
C-Dizzle
@ C-dizzle Puede redirigir stderr a un archivo, por ejemplo. con `2> log.txt` (puede agregarlo antes wmico agregarlo al final de cmdline y luego analizarlo. También puede agregarlo/failfast:on
wmz
No debo estar haciendo esa parte correctamente, ¿puede darme un ejemplo sobre cómo agregar eso a mi comando?
C-Dizzle
2>log.txt wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csvo wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csv 2>log.txt(ambas deben ser líneas simples)
wmz
2

Un bucle for con una redirección de archivos funcionará, aunque es posible que desee dejarlo reposar y ejecutarse durante un tiempo si tiene más agujeros en su conjunto de nodos (en otras palabras, no puede resolver la IP en el bucle)

(FOR /L %s IN (1,1,254) DO wmic /node:192.96.1.%s /user:administrator /password:pass bios get serialnumber) >> c:\results.txt

Si planea colocar esto en un archivo por lotes, reemplace el %scon %%s. Eso es todo.

Chad Harrison
fuente