вторник, 30 ноября 2021 г.

SNMP. Собираем данные о принтерах

Пригодится в хозяйстве, без установки дополнительного ПО, библиотек и прочего.

Скрипт собирает данные по SNMP-протоколу о всех принтерах с сервера печати. 

$printSRV = 'printsrv.kondor.ru'
$getPrinters = Get-Printer -ComputerName $printSRV | Where-Object {$_.Name -like "IN*"} | Select-Object Name, PortName
$result = @()
foreach ($printer in $getPrinters) {
    $SNMP = New-Object -ComObject olePrn.OleSNMP
    $SNMP.open($printer.PortName,'public',1,1000)
    $result += @(
        [PSCustomObject]@{'Имя принтера' = $printer.Name; 
        'Всего страниц напечатано' = $SNMP.get('.1.3.6.1.2.1.43.10.2.1.4.1.1');
        'Осталось копий' = $SNMP.Get('.1.3.6.1.2.1.43.11.1.1.9.1.1');
        'Серийный номер' = $SNMP.Get('.1.3.6.1.2.1.43.5.1.1.17.1');
        'Модель принтера' = $SNMP.Get('.1.3.6.1.4.1.11.2.3.9.4.2.1.1.3.1')})
    $SNMP.Close()
}
$result.GetEnumerator() | Sort-Object 'Всего страниц напечатано' 

Готовый скрипт можно взять тут

Полный набор OID по принтерам с удобной навигацией

Комментариев нет :

Отправить комментарий