Я только начинаю работать с 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 somebody@example.com -subject "Printer page counts"
И результаты отправляются на указанный адрес электронной почты.
Перед запуском этого скрипта я настроил blat на сервере с помощью команды
blat -install mail.example.com sender@example.com
This configuration only needs to be done once so it's not part of the script. После некоторого тестирования и удовлетворившись результатами, я настроил запланированное задание для запуска скрипта в 0:05 первого числа каждого месяца. Если у меня есть данные за два месяца, числа можно вычесть друг из друга, чтобы определить общее количество страниц, напечатанных в течение месяца для каждого устройства. Затем эти результаты можно умножить на соответствующую стоимость за страницу и просуммировать, чтобы получить общие затраты на печать за месяц.
У нас есть договор об обслуживании наших копировальных аппаратов, поэтому стоимость страницы указана в ежеквартальном счете. Для наших обычных принтеров стоимость одной страницы можно рассчитать, разделив стоимость картриджа с тонером на указанный ресурс этого картриджа.
После того, как у вас будет первый набор ежемесячных расходов на печать, задача состоит в том, чтобы попытаться сократить расходы в следующем месяце. Одна из возможностей состоит в том, чтобы поменять расположение некоторых принтеров, чтобы более дешевые в эксплуатации принтеры находились в областях с большим объемом.
Кстати: вся эта математика выполняется в электронной таблице Excel.
Я не думаю, что Web Jetadmin может это сделать.
Решил эту проблему с помощью SNMP и Блата.
Ваш принтер HP предлагает счетчики SNMP для многих типов статистики принтера. Использует такие инструменты, как snmpwalk.exe и getif.exe, и snmptools.exe вы можете добраться до этих прилавков. Blat.exe могу отправить вам этот отчет по почте. Запланируйте задачу делать это ежемесячно.
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 страниц.
Powershell подсчитал количество страниц для нескольких сетевых принтеров за несколько минут работы. Откройте Powershell с правами администратора, затем добавьте командлет SNMP из галереи Microsoft PowerShell следующим образом:
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