Ускользание от таких параметров обычно вызывает разочарование и кажется потраченным впустую временем. Я вижу, что у вас v2, поэтому я бы предложил использовать технику, о которой Джоэл «Jaykul» Беннет недавно написал в блоге .
Короче говоря: вы просто оборачиваете строку с помощью @ '...' @:
Start-Process \\server\toto.exe @'
-batch=B -param="sort1;parmtxt='Security ID=1234'"
'@
(Помните, что я предположил, какие кавычки необходимы, а какие вещи вы пытаетесь избежать.) Если вы хотите работать с выводом, вы можете добавить -NoNewWindow
переключатель.
Кстати: это была настолько важная проблема, что, начиная с v3, вы можете использовать, --%
чтобы парсер PowerShell не делал ничего с вашими параметрами:
\\server\toto.exe --% -batch=b -param="sort1;paramtxt='Security ID=1234'"
... там должно работать нормально (с тем же предположением).