Мне нужно выполнить PowerShell script из С#. script нужны аргументы командной строки.
Это то, что я сделал до сих пор:
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".
script использует аргумент командной строки, такой как "-key Value", тогда как значение может быть чем-то вроде пути, который также может содержать пробелы.
Я не понимаю, как это работает. Кто-нибудь знает, как передать аргументы командной строки PowerShell script изнутри С# и убедиться, что пробелы не являются проблемой?