Вы пытаетесь передать аргументы командной строки программе, которую запускаете?
Я сейчас работаю над чем-то, что делает именно это, и это было намного проще, чем я думал.
Если я иду в командную строку, и введите
C:\folder\app.exe/xC:\folder\file.txt
тогда мое приложение запускается и создает файл в указанном каталоге с указанным именем.
Я хотел сделать это с помощью скрипта Powershell на удаленной машине и понял, что все, что мне нужно сделать, это поставить
$s = New-PSSession -computername NAME -credential LOGIN
Invoke-Command -session $s -scriptblock {C:\folder\app.exe /xC:\folder\file.txt}
Remove-PSSession $s
(у меня в сеансе куча похожих команд, это минимум, необходимый для запуска)
обратите внимание на пробел между исполняемым файлом и аргументами командной строки.
Это работает для меня, но я не уверен точно, как работает ваше приложение или даже если вы передаете ему аргументы.
* Кроме того, мое приложение может отправить файл обратно на свой локальный компьютер, изменив блок скриптов на
C:\folder\app.exe /x"\\LocalPC\DATA (C)\localfolder\localfile.txt"
Вам нужны кавычки, если в вашем пути к файлу есть пробел.
РЕДАКТИРОВАТЬ: на самом деле, это вызвало некоторые глупые проблемы с запуском Powershell приложения в качестве службы или чего-то еще, поэтому я провел поиск и выяснил, что вы можете вызвать CMD для выполнения команд для вас на удаленном компьютере.
Таким образом, команда выполняется ТОЧНО, как если бы вы только что набрали ее в окне CMD на удаленной машине. Поместите команду в блок скрипта в двойные кавычки, а затем поместите перед ней cmd.exe / C. как это:
cmd.exe /C "C:\folder\app.exe/xC:\folder\file.txt"
это решило все проблемы, которые у меня были недавно.
РЕДАКТИРОВАТЬ РЕДАКТИРОВАТЬ:
У него было больше проблем, и он нашел лучший способ сделать это.
start-process -filepath C:\folder\app.exe -argumentlist "/xC:\folder\file.txt"
и это не приводит к зависанию окна терминала в ожидании завершения удаленного процесса.
Просто убедитесь, что у вас есть способ завершить процесс, если он не делает это самостоятельно. (мой нет, требуется код другого аргумента)