none
PSCustomObject - Output Nebeneinander

    Frage

  • Hallo zusammen,

    ich habe da ein merkwürdiges Phänomen und ich hoffe hier eine Lösung zu finden.

    Warum wird mir bei "PSCustomObject" bei 4 Eigenschaften der Output nebeneinander ausgegeben und wenn ich eine 5te Eigenschaft hinzufüge der Output untereinander angezeigt?

    Ich würde gerne alles nebeneinander angezeigt haben, damit ich alles schön in ein csv exportieren and anschließend in der Tabelle bearbeiten kann. (es sollen noch min. 10 Andere Eigenschaften hinzu kommen)

    #4 Eigenschaften:
    $a = 'Audi'
    $b = 'A6'
    
    $d = 'Blau'
    $e = 'Schiebedach'
    
    $myObject = [PSCustomObject]@{
        Marke = $a
        Model = $b
    
        Farbe = $d
        Austattung = $e
        }
    
    
    #5 Eigenschaften:
    $a = 'Audi'
    $b = 'A6'
    $c = '250PS'
    $d = 'Blau'
    $e = 'Schiebedach'
    
    $myObject = [PSCustomObject]@{
        Marke = $a
        Model = $b
        Leistung = $c
        Farbe = $d
        Austattung = $e
        }

    Kann mir jemand helfen?

    Danke und viele Grüße

    Mittwoch, 15. Mai 2019 09:59

Antworten

  • Das ist die Standard-Output-Optimization. Bis 4 Properties werden tabellarisch ausgegeben. Mehr als 4 Properies per default als Liste. (Ja - es gibt Ausnahemn von dieser Regel z.B. Get-Process) Dieses Verhalten kann man durch entsprechende Format cmdlets anpassen ... wie Jakša schon geschrieben hatte, kannst Du die tabellarische Ausgabe mittel pipe an Format-Table erzwingen.

    Die Konsolen-Ausagbe hat aber mit dem Export in eine Datei wenig zu tun. Das erledigst Du bei strukturierten Daten einfach mit Export-CSV ... unabhängig von der Ausgabe in der Konsole.

    Bitte jeweils die komplette Hilfe lesen - inklusive der Beispiele, um zu lernen, wie man sie benutzt.


    Live long and prosper!

    (79,108,97,102|%{[char]$_})-join''

    Mittwoch, 15. Mai 2019 10:45
  • Moin,

    so etwas wird in der Format.ps1xml definiert. Für einen generischen Typ wie PSCustomObject würde ich es aber nicht ändern, sondern tatsächlich auf Format-Table -AutoSize zurückgreifen.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Mittwoch, 15. Mai 2019 10:52

Alle Antworten

  • Und wenn Du das ganze als Tabelle formatierst?

    write $myObject | ft

    Mittwoch, 15. Mai 2019 10:06
  • Das ist die Standard-Output-Optimization. Bis 4 Properties werden tabellarisch ausgegeben. Mehr als 4 Properies per default als Liste. (Ja - es gibt Ausnahemn von dieser Regel z.B. Get-Process) Dieses Verhalten kann man durch entsprechende Format cmdlets anpassen ... wie Jakša schon geschrieben hatte, kannst Du die tabellarische Ausgabe mittel pipe an Format-Table erzwingen.

    Die Konsolen-Ausagbe hat aber mit dem Export in eine Datei wenig zu tun. Das erledigst Du bei strukturierten Daten einfach mit Export-CSV ... unabhängig von der Ausgabe in der Konsole.

    Bitte jeweils die komplette Hilfe lesen - inklusive der Beispiele, um zu lernen, wie man sie benutzt.


    Live long and prosper!

    (79,108,97,102|%{[char]$_})-join''

    Mittwoch, 15. Mai 2019 10:45
  • Moin,

    so etwas wird in der Format.ps1xml definiert. Für einen generischen Typ wie PSCustomObject würde ich es aber nicht ändern, sondern tatsächlich auf Format-Table -AutoSize zurückgreifen.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Mittwoch, 15. Mai 2019 10:52
  • Danke, ich probiere es aus :-)
    Mittwoch, 15. Mai 2019 11:10