Получить-Вывод конфигурации печати в файл и на экран

#powershell

Вопрос:

Я попытался экспортировать результат экрана в файл. На экране выводится 5 столбцов с усеченной информацией:

 $Printers = Get-Printer *
Foreach ($Printer in $Printers){Get-PrintConfiguration -PrinterName $Printer.name}
 

Выход на Экран

Я попытался сделать размер столбца достаточно широким, используя формат-таблица-автоматическое изменение размера, вывод стал 1 таблицей на принтер:

 $Printers = Get-Printer *
Foreach ($Printer in $Printers){Get-PrintConfiguration -PrinterName $Printer.name | Format-Table -Autosize}
 

одна таблица на принтер

Но если я экспортирую его в csv, он превратится в огромный файл, и многие строки не будут иметь для меня смысла:

 $filename = 'PrintConfiguration'
$Printers = Get-Printer *
Foreach ($Printer in $Printers){Get-PrintConfiguration -PrinterName $Printer.name | Export-Csv d:$((Get-Date).ToString('yyyy-MM-dd'))_${env:COMPUTERNAME}_$filename.csv -Append -NoTypeInformation} 
 

Файл CSV размером 366 КБ для системы с 5 принтерами

Что я сделал не так и как я могу это исправить?

Комментарии:

1. Попробуйте выйти за Export пределы своей foreach петли. Кроме того, что означает » это становится огромным файлом, и многие строки для меня не имеют смысла «?

2. Для этой системы из 5 принтеров CSV имеет размер 366 Кб. Пожалуйста, посмотрите пример на моем оригинальном посте.

3. Затем экспортируйте только нужные вам поля, используя Select-Object, перед экспортом

4. Get-Printer | Get-PrintConfiguration | Select-Object -ExcludeProperty PrintCapabilitiesXML | Export-Csv d:$((Get-Date).ToString('yyyy-MM-dd'))_${env:COMPUTERNAME}_$filename.csv -Append -NoTypeInformation

5. @Daniel, Спасибо, и я обнаружил, что мне нужно добавить звездочку для объекта Select-Object с свойством-ExcludeProperty, как показано ниже: Foreach ($Printer in $Printers){Get-PrintConfiguration -PrinterName $Printer.name | Select-Object * -ExcludeProperty PrintCapabilitiesXML | Export-Csv d:$((Get-Date).ToString('yyyy-MM-dd'))_${env:COMPUTERNAME}_$filename.csv -Append -NoTypeInformation}