私はSystem.Management.Automation APIを使用してC#WPFアプリケーションのPowerShellスクリプトを呼び出しています。次の例では、起動ディレクトリ($ PWD)をどのように変更して、呼び出された.exeの場所の代わりにC:\ scripts \からfoo.ps1を実行するのでしょうか?.NETからPowershellを呼び出すときの開始ディレクトリを設定しますか?
using (Runspace runspace = RunspaceFactory.CreateRunspace())
{
runspace.Open();
using (Pipeline pipeline = runspace.CreatePipeline())
{
pipeline.Commands.Add(@"C:\scripts\foo.ps1");
pipeline.Invoke();
}
runspace.Close();
}
は、リモート呼び出しのための解決策はありますか? RemoteSessionStateProxy.PathはPSNotSupportedExceptionをスローします。 – Rookian
@Rookian:このシナリオでは、 'Set-Location'コマンドレットを実行することが唯一の選択肢かもしれません。 –