Пригодится в хозяйстве, без установки дополнительного ПО, библиотек и прочего.
Скрипт собирает данные по 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 по принтерам с удобной навигацией
Комментариев нет :
Отправить комментарий