Как вы упомянули, вы должны вызывать его следующим образом:
print $one $two
В Powershell аргументы функций разделяются пробелом, а не запятыми и не заключаются в скобки (хотя аргументы метода есть)
То, как вы звонили, print($one,$two)
, это похоже на вызов print с одним аргументом, который является массивом - ($one,$two)
.Поэтому, когда вы write-host $first
, вы повторяете массив и, следовательно, видите их обоих.