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

8

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

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

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

С-Dizzle
источник

Ответы:

13

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

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

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

WMZ
источник
Есть ли способ перечислить любые консоли в выходной файл, который не удалось? Ответ, который я получаю от некоторых: «RPC недоступен» или что-то в этом роде, я хочу знать, какие из них я должен вернуться и проверить из-за этого.
C-dizzle
@ C-dizzle Вы можете перенаправить stderr в файл, например. с `2> log.txt` (вы можете добавить его до wmicили добавить в самом конце cmdline, а затем проанализировать это. Вы также можете добавить/failfast:on
wmz
Я не должен делать эту часть правильно, можете ли вы дать мне пример, как добавить это к моей команде?
C-dizzle
2>log.txt wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csvили wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csv 2>log.txt(оба должны быть в одной строке)
wmz
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. Вот и все.

Чад Харрисон
источник