首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerShell的Get-ExecutionPolicy返回不同的值

PowerShell的Get-ExecutionPolicy返回不同的值
EN

Stack Overflow用户
提问于 2010-12-02 19:41:19
回答 1查看 2.1K关注 0票数 3

根据为PowerShell获取执行策略设置所用的方法,我得到了两个不同的值。

如果我在Get-ExecutionPolicy提示符中运行PowerShell,就会得到“无限制”。

如果我使用以下代码,就会受到“限制”。

代码语言:javascript
复制
using (var runspace = RunspaceFactory.CreateRunspace())
{
    runspace.Open();

    var pipeline = runspace.CreatePipeline();
    pipeline.Commands.AddScript("Get-ExecutionPolicy");

    foreach (var result in pipeline.Invoke())
    {
        var restriction = ((ExecutionPolicy)result.BaseObject);
        break;
    }
}

同样,我受到以下代码的“限制”:

代码语言:javascript
复制
using (var invoker = new RunspaceInvoke())
{
    foreach (var result in invoker.Invoke("Get-ExecutionPolicy"))
    {
        var restriction = ((ExecutionPolicy)result.BaseObject);
        break;
    }
}

我还在注册表中签了名:HKEY_Local_Machine\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.Powershell\ExecutionPolicy,这里写着“不受限制”。

为什么我会得到不同的结果?我的代码可能不正确吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-02 20:53:56

您是否正在实现自定义主机?如果是这样的话,默认的执行策略将受到限制,并且需要为该主机设置(在ShellIds下)。

无论哪种方式,您都应该能够在代码中首先执行此命令,以覆盖设置:

代码语言:javascript
复制
Set-ExecutionPolicy RemoteSigned -Scope process
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4339093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档