Estoy usando la API System.Management.Automation para llamar a los scripts de PowerShell una aplicación C# WPF. En el siguiente ejemplo, ¿cómo cambiaría el directorio de inicio ($ PWD) para que ejecute foo.ps1 desde C: \ scripts \ en lugar de la ubicación del .exe desde el que se invocó?¿Configurando el directorio de inicio al llamar a Powershell desde .NET?
using (Runspace runspace = RunspaceFactory.CreateRunspace())
{
runspace.Open();
using (Pipeline pipeline = runspace.CreatePipeline())
{
pipeline.Commands.Add(@"C:\scripts\foo.ps1");
pipeline.Invoke();
}
runspace.Close();
}
¿Hay una solución para las llamadas remotas? RemoteSessionStateProxy.Path arroja una PSNotSupportedException. – Rookian
@Rookian: la ejecución del cmdlet 'Set-Location' puede ser su única opción en ese escenario. –