Powershell — сбор информации о принтерах

Powershell — сбор информации о принтерах

Иногда нужно собрать информацию о всех принтерах, которые установлены на пользовательских компьютерах AD. Для этого нам понадобится два скрипта.

Скрипт первый — список компьютеров

Чтобы не собирать данные вручную достаточно использовать простую команду.

Get-ADComputer -filter * | Select-Object Name > C:\pc2019.txt

Команду нужно выполнить на контроллере домена. Полученный файл нужно немного поправить — удалить все пробелы. Можете воспользоваться сторонним софтом (например, замена символов в notepad++) или выполнить скрипт для удаления пробелов, написанный ниже.

Function trim($file,$mode)
{
	$input = Get-Content $file
	$output = $input | where {$_ -notmatch "^$" }
	If ($mode -eq 'includeblanks')
	{
		$output = $output -replace(' ','')
	}
	Set-Content $file $output
}
trim "C:\pc2019.txt" includeblanks

Теперь наш файл готов для поиска данных — время найти принтеры!

$infile =  Get-Content -Path "C:\Users\chirkov\office.txt" 
foreach ($pc in $infile)
{
echo $pc
Get-Printer -ComputerName $pc | where PortName -like USB* | Select-Object -Property Name,ComputerName | Export-Csv -Path "C:\test.csv" -Append -NoType  -encoding Unicode -Delimiter ';'
} 

Данный скрипт проверит компьютеры по выгруженному списку AD, где порт будет USB и сохранит его в файл test.csv, где разделителем будет точка с запятой

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *