Added unit test for powershell cmdlet

You're saying `#` because we may have an unquoted parameter value? In the general case, that is an issue, though we could restrict this to being only an escape function for values known to be of type string, and perform more restrictive type checking for everything else.