无需在命令提示符中逐个输入以下内容:
wmic /node:ipaddress /user:administrator /password:mypassword bios 获取序列号
我如何针对整个子网运行该程序并输出到文本文档?由于我每隔几个月就会这样做一次以验证我们的计算机库存,因此我认为有一种更简单的方法可以将其放入批处理脚本中,而不是手动执行。
答案1
您可以在后面放一个列表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
。就这样。