當使用C#/ .Net執行PowerShell腳本時,我想將添加到$ PSModulePath的路徑而不覆蓋默認的$ PSModulePath。
我想出瞭如何使用InitialSessionState.EnvironmentVariables將$ PSModulePath設置爲我選擇的值。但是,這種方法是不可取,因爲它替換默認$ PSModulePath而不是附加它。
var state= InitialSessionState.CreateDefault();
state.EnvironmentVariables.Add(new SessionStateVariableEntry("PSModulePath", myModuleLoadPath, "PowerShell Module Search Locations"));
var runSpace = RunspaceFactory.CreateRunspace(initialState);
using (var powershell = PowerShell.Create())
{
powershell
.AddScript(script)
.Invoke();
}
有沒有一種方法以編程方式使用.NET API 追加至$ PSModulePath?