<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Snmp on Блог Агапова Максима</title><link>https://magapov.nmph.ru/tags/snmp/</link><description>Recent content in Snmp on Блог Агапова Максима</description><generator>Hugo</generator><language>ru</language><lastBuildDate>Tue, 30 Nov 2021 11:49:32 +0000</lastBuildDate><atom:link href="https://magapov.nmph.ru/tags/snmp/index.xml" rel="self" type="application/rss+xml"/><item><title>SNMP. Собираем данные о принтерах</title><link>https://magapov.nmph.ru/2021/11/snmp.html</link><pubDate>Tue, 30 Nov 2021 11:49:00 +0000</pubDate><guid>https://magapov.nmph.ru/2021/11/snmp.html</guid><description>&lt;p>Пригодится в хозяйстве, без установки дополнительного ПО, библиотек и прочего.&lt;/p>&lt;p>Скрипт собирает данные по SNMP-протоколу о всех принтерах с сервера печати.&amp;nbsp;&lt;/p>
&lt;pre>&lt;code class="bash hljs">$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 'Всего страниц напечатано' &lt;/code>&lt;/pre>
&lt;p>Готовый скрипт можно взять тут&lt;/p></description></item></channel></rss>