我正在執行使用C#的PowerShell腳本,但是當我嘗試在PowerShell腳本中獲取環境變量時,它不起作用。
如果我使用控制檯手動運行powershell腳本,它將起作用。
你對如何解決這個問題有什麼想法嗎?對於C#
代碼示例:
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
// set directory for ps
if (!string.IsNullOrEmpty(sessionPath))
runspace.SessionStateProxy.Path.SetLocation(sessionPath);
Pipeline pipeline = runspace.CreatePipeline();
Command command = new Command(script, false);
pipeline.Commands.Add(command);
pipeline.Commands.Add("Out-String");
pipeline.InvokeAsync();
腳本的PowerShell:
$path = $env:PATH;
write-output $path # this is empty ! $env does seems to exist in the runspace ?
我通過使用腳本[here](http://stackoverflow.com/a/14382047/1832488)找到了解決方法,但我更願意找到如何配置運行空間,以便設置Env變量。 – codea