IIRC Powershell is windows, and in windows shell do not pass command words preparsed as in *ix to the executable, but a single command line with the executable must parse. Given the amount of quoting, -a and -e will let you see the commands are properly sent, and if it is trying to read something what it is.
I will also try to substitute the -c with a pipe. If it heals, it is probably a quoting issue.
Also, I just caught Ron's message, and psql might be waiting for a password.