C # içinden bir PowerShell betiği yürütmem gerekiyor. Komut dosyası, komut satırı argümanlarına ihtiyaç duyar.
Şimdiye kadar yaptığım şey bu:
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 \ Programım \ Whatever.ps1" gibi bir şey içerir.
Komut dosyası, "-key Value" gibi bir komut satırı bağımsız değişkeni kullanır, oysa Değer, boşluklar da içerebilen bir yol gibi bir şey olabilir.
Bunu çalıştırmıyorum. C # içinden bir PowerShell betiğine komut satırı argümanlarının nasıl geçirileceğini bilen ve boşlukların sorun olmadığından emin olan var mı?
Command myCommand = new Command(scriptfile);
ve ardındanpipeline.Commands.Add(myCommand);
kaçış sorununu çözün.