Ich verwende die API System.Management.Automation, um PowerShell-Skripts eine C# -WPF-App aufzurufen. Wie würden Sie im folgenden Beispiel das Startverzeichnis ($ PWD) ändern, so dass foo.ps1 von C: \ scripts \ anstelle des Standorts der .exe ausgeführt wird, von der es aufgerufen wurde?Einstellen des Startverzeichnisses beim Aufruf von Powershell von .NET?
using (Runspace runspace = RunspaceFactory.CreateRunspace())
{
runspace.Open();
using (Pipeline pipeline = runspace.CreatePipeline())
{
pipeline.Commands.Add(@"C:\scripts\foo.ps1");
pipeline.Invoke();
}
runspace.Close();
}
Gibt es eine Lösung für Ferngespräche? RemoteSessionStateProxy.Path löst eine PSNotSupportedException aus. – Rookian
@Rookian: Das Ausführen des Cmdlets "Set-Location" ist möglicherweise die einzige Möglichkeit in diesem Szenario. –