A while a go I wrote a post “Powershell output capturing and text wrapping: strange quirks... solved!” on preventing output wrapping in PowerShell when capturing the output. In this article I wrote that I used the following way to capture the output with less probability of wrapping:
PowerShell -Command "
$host.UI.RawUI.BufferSize = new-object System.Management.Automation.Host.Size(512,50);"c:\temp\testoutputandcapture.ps1
" -argument"A value`"" >c:\temp\out.txt 2>&1
In the above situation I start a PowerShell script, but before doing that I set the buffer size.
I had some issues with this lately that my values in setting the buffer size where wither to small or too large. The more defensive approach described in the StackOverflow question http://stackoverflow.com/questions/978777/powershell-output-column-width works better for me.
I use it as follows at the top of my PowerShell script file: