通过 CMD 获取 HP 打印机序列号

问题描述 投票:0回答:2

有没有办法仅使用 CMD 来收集 Windows 上的 HP 打印机的序列号信息? 我不需要第三方工具。我需要的是能够从 CMD 查询它们。 对于工作站,我使用 [wmic /node:COMPUTER BIOS get serialnumber] 命令来获取我想要的内容。 我想知道是否有一种方法,某种可以执行相同操作的脚本。

谢谢

vba vbscript cmd printers
2个回答
0
投票

我找不到包含序列号的选项,因为 vbscript Win32_Printer 类不支持它,但是您可以从此脚本中检索唯一信息。

Win32_打印机类

选项显式

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

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 年“开箱即用”)

© www.soinside.com 2019 - 2024. All rights reserved.