Хотя PowerShell допускает синтаксис определения функции "C# -тиля" (как в вашем примере), синтаксис для вызова функций немного отличается - в этом случае аргументы параметра разделенные пробелом, а не запятой , и, необязательно, , переданный по имени .
. Для того, что вы пытаетесь сделать, любой из них будет работать:
Do-Something $a $b
Do-Something -param1 $a -param2 $b
Do-Something -param1:$a -param2:$b
То, к чему ваш текущий код разрешает:
Do-Something -param1 ($a, $b)
... вот почему вы получаете только один аргумент в функции.
См. about_Functions
файл справки для получения более подробной информации