Basically the thing to remember about powershell that separates it from other scripts is you want to pipe pipe pipe your data as far as possible so it stays an object, and then output a string at the very end - there's no tons of awk sed string manipulation like in bash, partly because of what you pointed out with how terminal input is interpreted.