Out-File не показывает все мои столбцы

518
David Prentice
Get-ADComputer -SearchBase "DC=some,DC=website,DC=net" -Filter * -Properties Name,Created,whenChanged,LastLogonDate,Description,IPv4Address,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion | Sort Description | Format-Table Name,Created,whenChanged,LastLogonDate,Description,IPv4Address,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion -Wrap | Out-File $env:USERPROFILE\Desktop\AD-Quick-Inventory.txt 

Вышеприведенный код - то, что я хочу, но при выводе в файл .txt у меня есть только 5 столбцов (останавливаясь на описании).

Как мне разрешить отображение всех столбцов?

Я попробовал export-csv, и он действительно экспортировал данные, которые хотел, но он также экспортировал кучу случайных свойств, которые я не выбрал.

1
У вас есть набор параметров -wrap. Что произойдет, если вы удалите это? Кроме того, они могут быть на нескольких линиях? LPChip 6 лет назад 0
Вы пытались передать до Out-String -Width 4096 в первую очередь, прежде чем передать в Out-File Antony 6 лет назад 0
Забавно, что вы упомянули Out-String, потому что вчера после публикации я нашел статью, которая освещает именно эту тему. https://poshoholic.com/2010/11/11/powershell-quick-tip-creating-wide-tables-with-powershell/ David Prentice 6 лет назад 0
out-file также имеет параметр width, поэтому нет необходимости в out-string (я думаю) SimonS 6 лет назад 0

2 ответа на вопрос

0
Clayton

Некоторые cmdLets могут использоваться только в конце конвейера (Format-table, Out-File, Export-Csv). После того, как вы используете какой - либо из этих КОМАНДЛЕТОВ положить другое после того, как он будет производить мусор, потому что прежние преобразовали данные объекта в данных необъектный как строки, и т.д. Если вы заменяете format-tableс select-objectвами получите CSV только свойство, которые вы выбрали с select-object,

Get-ADComputer -SearchBase "DC=some,DC=website,DC=net" -Filter * ` -Properties Name,Created,whenChanged,LastLogonDate,Description,IPv4Address,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion ` | Select-Object -Property Name,Created,whenChanged,LastLogonDate,Description,IPv4Address,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion ` | Sort Description | ` Export-Csv -Path AD-Quick-Inventory.csv -NoTypeInformation 
0
Uni_x

Как насчет передачи вашего Get-ADComputer в csv следующим образом:

Get-ADComputer -SearchBase "DC=some,DC=website,DC=net" -Filter * ` -Properties Name,Created,whenChanged,LastLogonDate,Description,IPv4Address,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion ` | Select-Object -Property Name,Created,whenChanged,LastLogonDate,Description,IPv4Address,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion ` | Sort Description | ConvertTo-CSV -NoTypeInformation | Out-File $path