我有一个MVC4页面,它调用了一段PowerShell。不过,由于我使用的模块没有签名,所以我遇到了问题,因此我必须启用Unrestricted策略。我如何强制powershell孩子使用无限制政策。我已经在我的脚本中启用了它,但它被忽略。另外,当我尝试在代码中设置策略时,会引发异常。从C#启用PowerShell执行策略
using (Runspace myRunSpace = RunspaceFactory.CreateRunspace())
{
myRunSpace.Open();
using (PowerShell powerShell = PowerShell.Create())
{
powerShell.Runspace = myRunSpace;
powerShell.AddCommand("Set-ExecutionPolicy").AddArgument("Unrestricted");
powerShell.AddScript(script);
objectRetVal = powerShell.Invoke();
}
}
感谢, 铝
什么异常说呢? – SLaks
是否生成自签名证书,将Web应用程序的身份设置为信任该证书,然后签署脚本帮助? (似乎没有办法用'PowerShell.exe'的'-ExecutionPolicy'参数创建'Runspace'。 – Richard
感谢您的指针,我在注册表中为用户和计算机设置了我的执行策略然后我自己签署了我使用的模块以及我正在运行的脚本 – albal