有没有办法只使用CMD为Windows上的HP打印机收集序列号信息? 我不需要第三方工具。我需要的是能够从CMD查询它们。 对于工作站,我使用[wmic / node:COMPUTER bios get serialnumber]命令来获得我想要的东西。 我想知道是否有某种方式,某种类型的脚本可以执行相同的操作。
由于
答案 0 :(得分:0)
我找不到包含序列号的选项,因为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
答案 1 :(得分:0)
聚会已经很晚了,但是...
这至少适用于 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 年“开箱即用”可能无法使用)