Ich muss ein PowerShell-Skript in C # ausführen. Das Skript benötigt Befehlszeilenargumente.
Folgendes habe ich bisher getan:
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 enthält so etwas wie "C: \ Programme \ MyProgram \ Whatever.ps1".
Das Skript verwendet ein Befehlszeilenargument wie "-key Value", während Value so etwas wie ein Pfad sein kann, der auch Leerzeichen enthalten kann.
Ich bekomme das nicht zum Laufen. Weiß jemand, wie man Befehlszeilenargumente aus C # heraus an ein PowerShell-Skript übergibt und sicherstellt, dass Leerzeichen kein Problem sind?
Command myCommand = new Command(scriptfile);
undpipeline.Commands.Add(myCommand);
lösen Sie dann das Escape-Problem.