Мне нужно настроить ExecutionPolicy как «RemoteSigned» в начальном состоянии сеанса или каким-либо образом перед выполнением скрипта. Я не хочу выполнять скрипт для установки политики. Это изменило бы политику на клиентском компьютере, который я не хочу.
В справочных сборках Powershell 5.0 это легко сделать,
var iss = InitialSessionState.CreateDefault();
iss.ExecutionPolicy = ExecutionPolicy.RemoteSigned
но как мне добиться того же, оставаясь с Powershell 4.0 в качестве сборок, на которые есть ссылки.
C # код для выполнения скрипта
var iss = InitialSessionState.CreateDefault();
iss.ExecutionPolicy = ExecutionPolicy.RemoteSigned; --> this is OK for Powershell ReferenceAssemblies 5.0 but not 4.0
iss.ImportPSModule(new[] { typeof(Parameter).Assembly.Location });
using (var powerShell = PowerShell.Create(iss))
{
var psScript = _inlineScript ?? File.ReadAllText(_path);
powerShell.AddScript(psScript);
}