8

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

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

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

2 ответа2

12

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

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

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

2

Цикл 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 . Это все.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .