Запуск внешних программ командной строки из PowerShell иногда бывает проблематичным, потому что PowerShell предоставляет два разных режима синтаксического разбора, которые вызывают различные синтаксисы указанных внешних программ.
В любом случае, запуск команды в Powershell требуется использовать префикс .
( dot- "sourcing" ) или оператор &
.
Вы можете обойти это, передав каждый параметр во внешнюю программу как отдельные переменные, например:
PS> $classpath = ".;./common.jar"
PS> $env = "-Dcontext=atest1 -Dresourcepath=."
PS> $class = "DW_Install"
PS> . java.exe -cp $classpath $env $class