Ho bisogno di eseguire uno script PowerShell da C#. Lo script richiede argomenti della riga di comando.Esegui script PowerShell da C# con argomenti Commandline
Questo è quello che ho fatto finora:
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();
FileScript contiene qualcosa come "C: \ Programmi \ Programma \ Whatever.ps1".
Lo script utilizza un argomento della riga di comando come "-key Value" mentre Value può essere qualcosa come un percorso che potrebbe contenere anche spazi.
Non riesco a farlo funzionare. Qualcuno sa come passare gli argomenti della linea di comando a uno script PowerShell da C# e assicurarsi che gli spazi non siano un problema?
mi sembrano ancora avere il problema che se il valore è qualcosa come c: \ programmi \ myprogram, la chiave è impostato su C: \ Program. :( – Mephisztoe
Non importa, a volte aiuta quando sai come dividere correttamente le stringhe. ;-) Grazie ancora, la tua soluzione mi ha aiutato a risolvere il mio problema! – Mephisztoe
@Tronex - dovresti definire la chiave come parametro per il tuo script. PowerShell ha alcuni grandi strumenti integrati per lavorare con i percorsi. Forse fai un'altra domanda al riguardo. @ Kosi2801 ha la risposta corretta per l'aggiunta di parametri. –