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

Vba 通过CMD获取HP打印机序列号,vba,vbscript,cmd,printers,Vba,Vbscript,Cmd,Printers,是否有任何方法仅使用CMD收集Windows上HP打印机的序列号信息? 我不需要第三方工具。我需要的是能够从CMD查询它们。 对于工作站,我使用[wmic/node:COMPUTER bios get serialnumber]命令来获取所需内容。 我想知道是否有一种方法,某种脚本可以执行相同的动作 谢谢我找不到包含序列号的选项,因为vbscript Win32_打印机类不支持序列号,但是您可以从该脚本中检索唯一的信息 选项显式 Dim objWMIService Dim objItem Di

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


谢谢

我找不到包含序列号的选项,因为vbscript 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

晚会很晚了,但是

这至少适用于HP Office Jet(使用HP Office Jet 4500测试)。我没有访问任何其他型号,但我可以想象它适用于任何网络管理(HP)打印机

这取决于在中国制造的打印机(序列号以
CN…

这个问题明确要求使用
cmd
解决方案。对于任何支持HTML或REGEX的语言,肯定有更好(更安全)的解决方案(不依赖于
CN…

另外,
curl
命令可能需要改进(我第一次使用它)

HTML中的相关部分如下所示:

                  <tr>
                     <td class="info">
                        
                        Product Serial Number
                     </td>
                     <td>
                        CN000A000A00AA
                     </td>
                  </tr>

产品序列号
CN000A000A00AA
我从
curl
中提取了到信息页面的链接,这给了我

<body onLoad="window.top.location.href='./index.htm?cat=info&page=printerInfo'">

(当然可以用它来获得不同型号的正确页面)


(注意:
curl
现在在WIN 10中可用,因此这可能在2014年“开箱即用”时不起作用)

这需要更多信息。您想要VBA?VBScript?命令行吗?现在您的要求还不清楚。我需要VBA,因为我主要在excel中工作。但我愿意接受任何可以收集网络打印机序列号的内容。谢谢您在此处的输入,但这不满足我的需要。我需要收集序列号在某种程度上,打印机的数量是不连续的。。。
<body onLoad="window.top.location.href='./index.htm?cat=info&page=printerInfo'">