PowerShell PowerShell Objekt Reihenfolge in Ausgabe

Kiso

Lieutenant
Registriert
Feb. 2012
Beiträge
557
Hallo Leute,
ich bin hier auf ein Phänomen gestoßen, welches ich mir nicht erklären kann.

Folgender Code:
PowerShell:
class Test {
    [String]$name

    Test([String]$name) { $this.name = $name }
    
}


$test = [Test]::new('Kiso')
Write-Host 'Objekt:'
$test
write-host "Name:" $test.name

Ergibt folgende Ausgabe:
Code:
Objekt:

Name: Kiso
name
----
Kiso

1605815694239.png


Warum wird erst write-host "Name:" $test.name ausgeführt und dann das Objekt geprintend?

Erfolgt die Instanziierung in PowerShell irgendwie asynchron? Kann ja eigentlich nicht sein, da sonst das Attribut Name nicht ausgegeben werden könnte.

Vielen Dank schonmal.

Grüße
Kiso
 
Mit Write-Host wird direkt auf die Konsole geschrieben. Alles, was du "normal" ausgibst (nicht über Write-Host oder Write-Verbose), wird implizit über Write-Output ausgegeben und in ne Pipeline gesteckt. Die Ausgabe bekommst du dann entsprechend später. Ausgaben via den ersten beiden kannst du nicht pipen, bspw. Get-ChildItem | % Name.
 
  • Gefällt mir
Reaktionen: Kiso
Zurück
Oben