【问题标题】:Powershell : Execution PolicyPowershell:执行策略
【发布时间】:2012-09-17 20:15:07
【问题描述】:

过去几个月我一直在运行我的代码 -

Set-ExecutionPolicy Unrestricted

但是,发生了一些奇怪的事情,我总是收到这个错误 -

Windows PowerShell 成功更新了您的执行策略,但是 设置被在更具体范围内定义的策略覆盖。 由于覆盖,您的外壳将保留其当前有效 “无限制”的执行政策。键入“Get-ExecutionPolicy -List” 查看您的执行策略设置。如需更多信息,请 请参阅“Get-Help Set-ExecutionPolicy”。

我已经参考了这些链接,但没有运气 -

Get-ExecutionPolicy -List

MachinePolicy                                                           
UserPolicy                                                           
Process                                                        
CurrentUser                                                        
LocalMachine

【问题讨论】:

  • Get-ExecutionPolicy -List 的输出应该显示每个范围的执行策略。
  • 显示 LocalMachine 不受限制。但是,在这两者之间,我得到了上面提到的错误。我不知道为什么。真是令人沮丧!

标签: c# powershell powershell-2.0


【解决方案1】:

您应该会看到来自Get-ExecutionPolicy -List 的类似输出:

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined 
 LocalMachine    RemoteSigned

一旦您看到具有不需要的设置的范围,您可以像这样重置它:

Set-ExecutionPolicy Undefined -Scope <scope-name>

这是假设您有权这样做。

【讨论】:

  • 但是从 C# 代码执行时出现错误,当时我没有任何控制来重置范围?
  • 系统管理员能否永远在组策略级别做一些事情,这样我至少不必为这件事接触基于脚本的代码(Win7-32​​ 和 64 位,Win2k8 R2)
  • 哇 - 你是在自己的主机上运行它吗,也就是说,你是在自己的 C# 应用程序中托管 PowerShell 引擎吗?
  • @AngshumanAgarwal 看看这个 SO 问题的答案 - stackoverflow.com/questions/4339093/…
  • 谢谢基思。我没有做任何自定义托管。我只是在这些行上使用 Powershell.Create 从 C# 调用 Powershell 运行时 - msdn.microsoft.com/en-us/library/windows/desktop/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-27
  • 2020-10-08
  • 2021-06-29
  • 1970-01-01
相关资源
最近更新 更多