Tagged: bug WMF5
- June 28, 2016 at 6:10 pm #45105
Has anyone else seen output display out of order in PowerShell 5?
C:\Users> Write-Host "Before"; Get-Service e* | select Status, Name, DisplayName; Write-Host "After" Before After Status Name DisplayName ------ ---- ----------- Stopped EapHost Extensible Authentication Protocol Running EFS Encrypting File System (EFS) Running eventlog Windows Event Log Running EventSystem COM+ Event System
We noticed this after we upgraded to WMF5. It isn't causing any functional problems per se, but it can definitely confuse some people; scripts that uses Write-Host, Write-Verbose etc. to track the flow of the code could produce some surprising results.
I created a UserVoice bug report with more details (please upvote if you think this needs attention): Bug: Console output appears out of orderJune 28, 2016 at 6:15 pm #45109
Try Write-Output instead. Write-Host writes directly to the screen which could cause it to appear before a command that writes to the pipeline (Get-Service), even though it's technically entered after that command.June 28, 2016 at 6:16 pm #45111
Or, "Never use Write-Host." There are also downsides to putting extraneous stuff into the pipeline, as it can confuse the formatting subsystem.June 28, 2016 at 6:32 pm #45120
Agreed on not using Write-Host, so let's substitute Write-Verbose – same issue.
The UserVoice post has more details (including some info added by Tim Curwick about timing changes).
You must be logged in to reply to this topic.