Benutzer mit den meisten Antworten
get-member verzögert Ausgabe

Frage
-
Hallo,
ich mache gerade die ersten Gehversuche und bin auf ein für mich nicht erklärliches Phänomen gestoßen. Beim folgenden Script erfolgt die Ausgabe nicht in der erwarteten Reihenfolge des Scrip-Codes, sondern die get-member-Zeile wird erst ausgegeben, wenn ich eine Taste gerückt habe, also nach Read-Host.Write-Host "Start"; $MyInvocation.MyCommand | get-member; Read-Host "Please press any Key";
Warum passiert das, wie kann man es umgehen und gibt es andere Stellen, wo ähnliche Effekte auftreten können?Danke, RainerR
Antworten
-
Das liegt daran, das sich dein Objekt (member von $myInvocation...) immer noch in der Pipeline (|) befindet, ohne das du spezifiziert hättest was damit zu tun ist. Ausgegeben wird es automatisch nur, wenn kein Befehl mehr folgt.
Wenn du es vorher ausgeben möchtest, hänge z.b. ein OUT-HOST als letzten Befehl in Zeile, also:
Write-Host "Start" $MyInvocation.MyCommand | get-member | Out-Host Read-Host "Please press any Key"
es geht aber z.b. auch:$MyInvocation.MyCommand | get-member | format-table *
Hier gibt eine sehr gute Erklärung zur Pipeline: The PowerShell Pipeline
Grüße, Denniver- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Donnerstag, 9. Dezember 2010 19:58
- Als Antwort markiert Andrei TalmaciuModerator Freitag, 10. Dezember 2010 12:34
Alle Antworten
-
Das liegt daran, das sich dein Objekt (member von $myInvocation...) immer noch in der Pipeline (|) befindet, ohne das du spezifiziert hättest was damit zu tun ist. Ausgegeben wird es automatisch nur, wenn kein Befehl mehr folgt.
Wenn du es vorher ausgeben möchtest, hänge z.b. ein OUT-HOST als letzten Befehl in Zeile, also:
Write-Host "Start" $MyInvocation.MyCommand | get-member | Out-Host Read-Host "Please press any Key"
es geht aber z.b. auch:$MyInvocation.MyCommand | get-member | format-table *
Hier gibt eine sehr gute Erklärung zur Pipeline: The PowerShell Pipeline
Grüße, Denniver- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Donnerstag, 9. Dezember 2010 19:58
- Als Antwort markiert Andrei TalmaciuModerator Freitag, 10. Dezember 2010 12:34