【问题标题】:Powershell profile.ps1 cannot be loaded because its operation is blocked by software restriction policiesPowershell profile.ps1 无法加载,因为它的操作被软件限制策略阻止
【发布时间】:2014-06-11 02:01:02
【问题描述】:

在启动 PowerShell 主机(powershell.exe、PowerShellISE、NuGet 包管理器控制台等)时,我收到以下错误消息。

文件 C:\Users\MyUserName\Documents\WindowsPowerShell\profile.ps1 无法加载,因为其操作被软件阻止 限制政策。如需更多信息,请联系您的系统 管理员。

这在 NuGet 包管理器控制台的情况下尤其成问题,因为控制台在出现错误后处于禁用/不可用状态。至少可以使用其他 PowerShell 主机。

几周前,我在为新工作设置工作站时遇到了问题,因为组策略设置正在应用 AllSignedMachinePolicy。该问题已通过将设置更改为 RemoteSigned 得到解决。我使用以下命令检查了此设置是否仍然存在:

Get-ExecutionPolicy -List

我还确认此 $profile.CurrentUserAllHosts 文件存在,但我在 Internet 上搜索另​​一个 “组策略设置” 没有发现任何感兴趣的内容。我的 PowerShell 版本信息是:

$PSVersionTable

Name                           Value
----                           -----
PSVersion                      3.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.18408
BuildVersion                   6.2.8370.0
PSCompatibleVersions           {1.0, 2.0, 3.0}
PSRemotingProtocolVersion      2.2

【问题讨论】:

    标签: powershell


    【解决方案1】:

    如果我删除或移动问题配置文件脚本,那么我的所有 PowerShell 主机都会正常启动,包括使用自己的 当前用户当前主机脚本的 PowerShell ISE C:\Users\MyUserName\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1

    事实证明,我的所有主机配置文件脚本的问题在于它完全为空!将任何内容添加到文件中,甚至是单个空格字符或注释,都允许所有各种 PowerShell 主机执行此配置文件脚本。我一定是在某个时候清除了这个脚本的内容,而不是删除它。

    不完全是直观的错误消息,这就是我发布此问答样式条目以供将来参考的原因。

    有趣的是,我能够在所有主机启动后执行空/空白脚本,而且这个问题似乎特定于配置文件脚本。

    【讨论】:

    • 实际上,尝试运行像powershell empty.ps1 这样的空文件会导致相同的错误消息!当我简单地在文件中添加一个 # 字符时,错误就消失了。看起来这只是一个误导性的错误消息。
    【解决方案2】:

    删除两个文件

    C:\Users\MyUserName\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
    C:\Users\MyUserName\Documents\WindowsPowerShell\profile.ps1
    

    【讨论】:

    • 这立即解决了我的问题。
    【解决方案3】:

    实际上,这看起来像 AppLocker 错误消息。有关它的一些信息可以在here 找到(但是作者正在做相反的事情 - 他试图限制脚本的使用)。

    如果其他配置文件有效(除了 profile.ps1),它可能只是一个拒绝规则。

    【讨论】:

    • 也许我的答案不清楚,但是当我向个人资料添加任何内容时问题就消失了。换句话说,我有一个解决方案,我的问答就是记录解决方案。供您参考,其他配置文件表现出相同的行为。
    • 出于好奇(我之前没有听说过 AppLocker)我检查了我的系统并确认没有为我的机器配置脚本规则。
    猜你喜欢
    • 1970-01-01
    • 2020-10-08
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    • 2021-04-16
    • 2018-02-26
    • 2019-11-19
    相关资源
    最近更新 更多