从 HP Web Jetadmin 10.2 查询页数

从 HP Web Jetadmin 10.2 查询页数

我刚刚开始使用 HP Web Jetadmin 10.2,并设置了错误电子邮件通知。我还想设置每月电子邮件通知当前页数,以便计算上个月打印的页数并查看该数字是增加还是减少。但是,似乎没有办法配置任何类型的时间表。是我遗漏了什么,还是我对这个免费实用程序的要求太高了?

编辑:感谢 RobW 为我指出解决方案。我将尝试在这里描述它,以便其他人可以受益。我的解决方案使用 snmptools 和 blat(链接在接受的答案中)。

我编写了一个名为 pagecount.bat 的脚本,如下所示:


@ECHO OFF

@FOR /F "tokens=*" %%i IN ('C:\SNMPTools\snmptools.exe /v /query /h:192.168.1.12 /o:1.3.6.1.2.1.1.6.0') DO set deviceName=%%i
@FOR /F "tokens=*" %%i IN ('C:\SNMPTools\snmptools.exe /v /query /h:192.168.1.12 /o:1.3.6.1.2.1.43.10.2.1.4.1.1') DO set pageCount=%%i
ECHO %deviceName% %pageCount% > C:\SNMPTools\results.txt

@FOR /F "tokens=*" %%i IN ('C:\SNMPTools\snmptools.exe /v /query /h:192.168.1.13 /o:1.3.6.1.2.1.1.6.0') DO set deviceName=%%i
@FOR /F "tokens=*" %%i IN ('C:\SNMPTools\snmptools.exe /v /query /h:192.168.1.13 /o:1.3.6.1.2.1.43.10.2.1.4.1.1') DO set pageCount=%%i
ECHO %deviceName% %pageCount% >> C:\SNMPTools\results.txt

第一个块使用>运算符覆盖文件 results.txt,后续块使用>>运算符附加到文件。在文件底部,我有以下行:

C:\blat276\full\blat.exe C:\SNMPTools\results.txt -to [email protected] -subject "Printer page counts"

并将结果发送至指定的电子邮件地址。

在运行此脚本之前,我已使用命令在服务器上配置了 blat

blat -install mail.example.com [email protected]
此配置仅需进行一次,因此它不是脚本的一部分。

经过一些测试并对结果感到满意后,我设置了一个计划任务,在每个月的第一天凌晨 12:05 运行该脚本。一旦我获得了两个月的数据,就可以将这些数字相减,以确定每个设备当月打印的总页数。然后可以将这些结果乘以各自的每页成本,然后相加,得到当月的总打印成本。

我们的复印机有维护协议,因此每页成本列在季度发票上。对于我们的普通打印机,每页成本可以通过将碳粉盒成本除以该碳粉盒的指定打印量来计算。

在您确定了第一组每月打印成本后,挑战就是设法降低下个月的成本。一种可能性是改变一些打印机的位置,以便将运行成本较低的打印机放置在打印量较大的区域。

顺便说一句:所有这些数学运算都是在 Excel 电子表格中完成的。

答案1

我认为 Web Jetadmin 无法做到这一点。

我使用 SNMP 和 Blat 解决了这个问题。

您的 HP 打印机提供多种类型的打印机统计信息的 SNMP 计数器。使用以下工具 SNMP 安装程序执行程序, 和SNMP工具你可以去这些柜台。 启动器可以将此报告邮寄给您。安排每月执行一次的任务。

SNMP 将数据存储在称为 OID 的结构中。OID 中的每个步骤代表不同的分支。大多数打印机的页数 OID 为:1.3.6.1.2.1.43.10.2.1.4.1.1。每个步骤代表:

.iso.org.dod.internet.mgmt.mib-2.printmib.prtMarker.prtMarkerTable.prtMarkerEntry.prtMarkerLifeCount

如果您知道您的 OID,像 snmptools.exe 这样的命令行工具可以提取数据:

c:\> snmptools.exe /v /query /h:10.0.0.4 /o:1.3.6.1.2.1.43.10.2.1.4.1.1
25892    

在我的 HP Lasterjet 上,打印页数为 25892。

答案2

只需几分钟,Powershell 就能让我统计多台网络打印机的页数。打开具有管理权限的 Powershell,然后从 Microsoft 的 PowerShell 库中添加 SNMP 命令行,如下所示:

PS C:\windows\system32> 
Register-PSRepository -Name PSGalleryPreview -SourceLocation https://www.Preview.PowerShellGallery.Com/api/v2
Install-Module -Name Proxx.SNMP -Repository PSGalleryPreview -Verbose
Invoke-SnmpGet -IpAddress 192.168.222.51 -Oid 1.3.6.1.2.1.43.10.2.1.4.1.1

REMARKS
    To see the examples, type: "get-help Invoke-SnmpGet -examples".
    For more information, type: "get-help Invoke-SnmpGet -detailed".
    For technical information, type: "get-help Invoke-SnmpGet -full". 

您可以轻松地列出多台打印机的 IP 地址和相关变量的 OID 编号,然后将摘要打印到控制台。以下是适用于旧式黑白 HP 激光打印机和两台彩色 Xerox 网络打印机的一些快速代码:

$printers = 'BULLWINKLE', 'ASTRO', 'ELROY'
$ips = '192.168.222.51', '192.168.222.54', '192.168.222.55'
$names = 'Black Page Count', 'Color Page Count', 'Total Page Count'
$oids = '1.3.6.1.4.1.253.8.53.13.2.1.6.1.20.34', '1.3.6.1.4.1.253.8.53.13.2.1.6.1.20.33', '1.3.6.1.2.1.43.10.2.1.4.1.1'
$counts = Invoke-SnmpGet -IpAddress $ips -Oid $oids

write-host "Printer Page Counts for" (Date)
$i = 0
foreach ($p in $printers){
    $j = 0
    While ($j -lt 3) {
        write-host $p $names[$j] $counts.value[$i]
        $i++
        $j++
    }     
}

安慰:

Printer Page Counts for 8/28/2018 5:55:26 PM
BULLWINKLE Black Page Count Null
BULLWINKLE Color Page Count Null
BULLWINKLE Total Page Count 406024
ASTRO Black Page Count 7821
ASTRO Color Page Count 31614
ASTRO Total Page Count 39435
ELROY Black Page Count 56
ELROY Color Page Count 736
ELROY Total Page Count 792

相关内容