Я использую API System.Management.Automation для вызова сценариев PowerShell в С# WPF-приложении. В следующем примере, как бы вы изменили начальный каталог ($ PWD), чтобы он выполнял foo.ps1 из C:\scripts\вместо местоположения .exe, он был вызван из?
using (Runspace runspace = RunspaceFactory.CreateRunspace())
{
runspace.Open();
using (Pipeline pipeline = runspace.CreatePipeline())
{
pipeline.Commands.Add(@"C:\scripts\foo.ps1");
pipeline.Invoke();
}
runspace.Close();
}