J'ai besoin d'exécuter un script PowerShell à partir de C #. Le script a besoin d'arguments de ligne de commande.
Voici ce que j'ai fait jusqu'à présent:
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 contient quelque chose comme "C: \ Program Files \ MyProgram \ Whatever.ps1".
Le script utilise un argument de ligne de commande tel que "-key Value" alors que Value peut être quelque chose comme un chemin qui peut également contenir des espaces.
Je ne fais pas fonctionner ça. Quelqu'un sait-il comment transmettre des arguments de ligne de commande à un script PowerShell à partir de C # et s'assurer que les espaces ne posent aucun problème?
Command myCommand = new Command(scriptfile);
puispipeline.Commands.Add(myCommand);
résolvez le problème d'échappement.