Sto utilizzando l'API System.Management.Automation per chiamare gli script PowerShell un'app WPF C#. Nell'esempio seguente, come cambieresti la directory di avvio ($ PWD) in modo che esegua foo.ps1 da C: \ scripts \ invece della posizione del file .exe da cui è stato chiamato?Impostazione della dir di start quando si chiama Powershell da .NET?
using (Runspace runspace = RunspaceFactory.CreateRunspace())
{
runspace.Open();
using (Pipeline pipeline = runspace.CreatePipeline())
{
pipeline.Commands.Add(@"C:\scripts\foo.ps1");
pipeline.Invoke();
}
runspace.Close();
}
C'è una soluzione per le chiamate a distanza? RemoteSessionStateProxy.Path genera un'eccezione PSNotSupportedException. – Rookian
@Rookian: l'esecuzione del cmdlet 'Set-Location' può essere l'unica scelta in tale scenario. –