有没有办法只使用CMD在Windows上收集HP打印机的序列号信息?我不需要第三方工具。我需要的是能够从CMD查询它们。对于工作站,我使用wmic /node:COMPUTER bios get serialnumber命令来获取我想要的内容。我想知道是否有一种方法,某种脚本可以执行相同的操作。
谢谢
发布于 2014-04-16 14:45:55
我找不到一个选项来包含序列号,因为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
发布于 2021-03-24 21:03:05
去派对已经很晚了,但是...
这至少适用于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年的“开箱即用”时起作用)
https://stackoverflow.com/questions/23110007
复制