[PowerShell] Собираем информацию о принтерах
В организации есть несколько принт-серверов на платформе Windows Server 2003 SP2 и 2008R2, необходимо получить список этих принтеров с определенными полями в файле, чтобы можно было опрашивать эти принтеры по протоколу SNMP. Такой список получить достаточно просто при помощи PowerShell. Набросал такой вот скрипт:
$terminals = ("ps1.company.ru", "ps2.company.ru") $terminals | ForEach-Object { Get-WmiObject -class Win32_Printer -computer $terminals ` | Where-Object {$_.ShareName -ne $null} ` | select Name, ShareName, PortName, Location, Comment, SystemName, DriverName } ` | Export-Csv -NoClobber -Encoding utf8 -Path d:\printers.csv
Скрипт опрашивает два сервера ps1 и ps2, сервера можно добавлять или удалять. Чтобы не выводить в списке разные виртуальные принтеры, скрипт проверяет заполнено ли поле ShareName. У всех принтеров в организации это поле заполнено, остальные принтеры пропускаем. В результате получился файл CVS, с которые можно делать все что угодно.
Нашли опечатку в тексте? Пожалуйста, выделите ее и нажмите Ctrl+Enter! Спасибо!
Хотите поблагодарить автора за эту заметку? Вы можете это сделать!
Какая переменная для счетчика пробегов страниц?
Qwest
11 Июл 2019 в 13:13