Мне нужно выполнить сценарий PowerShell из C #. Сценарию нужны аргументы командной строки.
Вот что я сделал до сих пор:
RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();
Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
runspace.Open();
RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace);
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(scriptFile);
// Execute PowerShell script
results = pipeline.Invoke();
scriptFile содержит что-то вроде «C: \ Program Files \ MyProgram \ Whatever.ps1».
Сценарий использует аргумент командной строки, такой как «-key Value», тогда как Value может быть чем-то вроде пути, который также может содержать пробелы.
Я не могу заставить это работать. Кто-нибудь знает, как передать аргументы командной строки сценарию PowerShell из C # и убедиться, что пробелы не являются проблемой?
Command myCommand = new Command(scriptfile);а затемpipeline.Commands.Add(myCommand);решить проблему с побегом.