Блог did5.ru

Про АйТи и около айтишные темы

[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! Спасибо!


Хотите поблагодарить автора за эту заметку? Вы можете это сделать!


Автор: did5

07 Мар 2014 в 9:41

Рубрика: PowerShell,Windows

Метки:

Ваш отзыв