Muszę wykonać skrypt PowerShell z poziomu C #. Skrypt potrzebuje argumentów wiersza poleceń.
Oto, co zrobiłem do tej pory:
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();
plik scriptFile zawiera coś takiego jak „C: \ Program Files \ MyProgram \ Cokolwiek.ps1”.
Skrypt używa argumentu wiersza poleceń, takiego jak „-key Wartość”, podczas gdy Wartość może być czymś w rodzaju ścieżki, która może również zawierać spacje.
Nie udaje mi się to. Czy ktoś wie, jak przekazać argumenty wiersza polecenia do skryptu PowerShell z poziomu C # i upewnić się, że spacje nie stanowią problemu?
Command myCommand = new Command(scriptfile);
a następniepipeline.Commands.Add(myCommand);
rozwiąż problem ucieczki.