Запустите команду WMIC через сеть

Вместо того, чтобы вводить это в командной строке по одному:

wmic / узел: ipaddress / пользователь: администратор / пароль: mypassword bios get serialnumber

Как я могу запустить это для одной целой подсети и вывести в текстовый документ? Поскольку я делаю это каждые пару месяцев, чтобы проверять наш инвентарь компьютеров, я бы предположил, что было бы намного проще, если бы я мог поместить это в пакетный скрипт вместо того, чтобы делать это вручную.

2 ответа

Решение

Вы можете поставить список после node:node:ip1,ip2,ip3или используйте файл node:@file - просто поместите все свои IP-адреса в файл и запустите:

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

Это предполагает, что имя пользователя и пароль одинаковы на всех машинах.

Цикл for с перенаправлением файла будет работать, хотя вы можете оставить его на некоторое время, если у вас больше дыр в наборе узлов (другими словами, не удается разрешить IP в цикле)

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

Если вы планируете поместить это в пакетный файл, замените %s с %%s, Это все.

Другие вопросы по тегам