如何在 Powershell 4.0 API 中将执行策略配置为"RemoteSigned"



我需要在初始会话状态或脚本执行之前以某种方式将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);
}

你的意思是当你启动PowerShell时? 如果是这样,您可以这样做:

powershell -ExecutionPolicy RemoteSigned ... rest of parameters here

我知道我们有几个脚本以这种方式开始。

相关内容

  • 没有找到相关文章

最新更新