Powershell seems to drop empty string arguments when passed to a command. I have this code
PS D:\\> $b.name = \"foo bar\"
PS D:\\> ./echoargs $b.name
A
If you want an empty string to appear try escaped quotes around the argument like so:
PS> $b = [psobject]@{name = ''}
PS> echoargs `"$($b.Name)`"
Arg 0 is <>
Command line:
"C:\Users\Keith\Pscx\Trunk\Src\Pscx\bin\Release\Apps\EchoArgs.exe" ""
Note that I tested this on V3 so I'm not sure if the behavior will be exactly the same on V2.