PowerShell komut dosyalarını bir C# WPF uygulamasını çağırmak için System.Management.Automation API'sini kullanıyorum. Aşağıdaki örnekte, başlangıç dizinini ($ PWD) nasıl değiştirirsiniz, böylece foo.ps1, çağrıldığı .exe dosyasının yeri yerine C: \ scripts \ dizininden yürütülür?.NET'ten Powershell'i çağırırken başlangıç dirsini ayarlama?
pipeline.Commands.AddScript(@"set-location c:\scripts;.\foo.ps1")
: yapıyor yanlış
using (Runspace runspace = RunspaceFactory.CreateRunspace())
{
runspace.Open();
using (Pipeline pipeline = runspace.CreatePipeline())
{
pipeline.Commands.Add(@"C:\scripts\foo.ps1");
pipeline.Invoke();
}
runspace.Close();
}
uzak çağrılar için bir çözüm var mı? RemoteSessionStateProxy.Path bir PSNotSupportedException atar. – Rookian
@Rookian: 'Set-Location' cmdlet'ini çalıştırmak bu senaryodaki tek seçiminiz olabilir. –