Я пытаюсь преобразовать некоторые из моих сценариев с битами в C #.
Я перенес всю программу за исключением строки выполнения PowerShell.
Для простоты я пытался просто вызвать команду PowerShell из cmd.
Я могу это сделать, но он не принимает сложные аргументы и параметры, которые соответствуют команде PowerShell.
Вот команда, если я запускаю напрямую из файла cmd или bat.
powershell -Command "& {asnp 'citrix*'; remove-BrokerTag -Name 'Somename' -Machine 'domain\server' -AdminAddress 'SomeServer';}"
Я использовал этот код для вызова cmd и запуска команды powershell.
string strCmdText;
strCmdText = "'/C powershell " + "-Command " + "&" + " { asnp 'citrix*'; add - BrokerTag - Name 'Somename' - Machine 'domain\server'" + (listboxvariable) + " - AdminAddress 'ServerXX'; }'" + " & pause";
System.Diagnostics.Process.Start("CMD.exe", strCmdText);
Я получаю эту ошибку
"Невозможно обработать команду из-за отсутствующего параметра. Команда должна следовать за командой."
Как видите, в этой команде PowerShell много аргументов.
Есть ли более простой способ сделать это? или я просто упускаю что-то простое?