有没有办法仅使用 CMD 来收集 Windows 上的 HP 打印机的序列号信息? 我不需要第三方工具。我需要的是能够从 CMD 查询它们。 对于工作站,我使用 [wmic /node:COMPUTER BIOS get serialnumber] 命令来获取我想要的内容。 我想知道是否有一种方法,某种可以执行相同操作的脚本。
谢谢
我找不到包含序列号的选项,因为 vbscript Win32_Printer 类不支持它,但是您可以从此脚本中检索唯一信息。
选项显式
Dim objWMIService
Dim objItem
Dim colItems
Dim strComputer
DIm intPrinters
strComputer ="."
' Pure WMI Section
Set objWMIService = GetObject _
("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery _
("SELECT * FROM Win32_Printer")
' On Error Resume Next
For Each objItem In colItems
If(objItem.name = "HP") Then
WScript.Echo (objItem.name)
WScript.Echo (objItem.Description)
WScript.Echo (objItem.DeviceID)
WScript.Echo (objItem.DriverName)
End If
Next
'Release Memory
Set objItem = Nothing
Set objWMIService = Nothing
Set colItems = Nothing
WScript.Quit
聚会已经很晚了,但是...
这至少适用于 HP Office Jet(使用 HP Office Jet 4500 进行测试)。我无法访问任何其他型号,但我可以想象它适用于任何网络管理 (HP) 打印机。
@echo off
setlocal
for /f %%a in ('curl "http://192.168.0.000/index.htm?cat=info&page=printerInfo#" 2^>nul ^|findstr /rc:" *CN"') do set "SN=%%a"
echo Serialnumber is %SN%.
这取决于在中国制造的打印机(序列号以
CN...
开头)
该问题明确要求提供
cmd
解决方案。对于任何具有适当 HTML 或 REGEX 支持的语言,肯定有更好(更安全)的解决方案(不依赖于 CN...
)。
此外,
curl
命令可能需要改进(我第一次使用它)
HTML 中的相关部分如下所示:
<tr>
<td class="info">
Product Serial Number
</td>
<td>
CN000A000A00AA
</td>
</tr>
我从
curl <printer-ip>
中提取了信息页面的链接,这给了我
<body onLoad="window.top.location.href='./index.htm?cat=info&page=printerInfo'">
(肯定可以用来获取不同型号的正确页面)
(注意:
curl
现在可在 WIN 10 中使用,因此这可能无法在 2014 年“开箱即用”)