欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

+ CategoryInfo : SecurityError: (:) [Import-Module],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess,Microsoft.PowerShell.Commands.ImportModuleCommand 文心一言 chatgpt 有大用

PS C:\Windows\system32> Import-Module WindowsVersion Import-Module : 无法加载文件 C:\Program Files\WindowsPowerShell\Modules\WindowsVersion\WindowsVersion.psm1,因为在此系 统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 + Import-Module WindowsVersion + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~    + CategoryInfo          : SecurityError: (:) [Import-Module],PSSecurityException    + FullyQualifiedErrorId : UnauthorizedAccess,Microsoft.PowerShell.Commands.ImportModuleCommand


您遇到的问题是因为 PowerShell 的执行策略限制了脚本的运行。PowerShell 执行策略控制是否可以加载配置文件以及是否可以运行脚本。默认情况下,某些系统的执行策略可能设置为 Restricted,这会阻止所有脚本的运行,包括模块中的脚本。

要解决这个问题,您可以更改 PowerShell 的执行策略。但是,在更改执行策略之前,您应该了解这样做可能会带来的安全风险。允许运行脚本可能会使您的系统更容易受到恶意软件的攻击。确保从可信来源获取并运行脚本。

如果您决定更改执行策略,可以使用以下步骤之一:

方法 1:临时更改执行策略(仅限当前会话)

打开 PowerShell 作为管理员,然后输入以下命令来临时更改执行策略:

powershell
深色版本
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

方法 2:永久更改执行策略

同样地,以管理员身份打开 PowerShell,然后根据需要选择一个执行策略。常见的选项包括 RemoteSignedUnrestricted。例如,要将执行策略设置为 RemoteSigned,可以运行:

powershell
深色版本
Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned


Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy Unrestricted

RemoteSigned 允许运行本地编写的脚本,并且任何从互联网下载的脚本都需要数字签名才能运行。Unrestricted 则允许运行所有脚本,但会警告您运行来自互联网的脚本。


在更改执行策略后,您应该能够成功导入 WindowsVersion 模块或其他任何模块。

请注意,更改执行策略可能需要管理员权限。如果您没有足够的权限或担心安全性,建议与您的系统管理员讨论此问题。




您遇到的错误信息表明 PowerShell 因为执行策略的限制而无法加载脚本。PowerShell 的执行策略用于限制哪些脚本可以运行,以防止潜在的安全风险。

在您的系统中,当前的执行策略可能设置为 Restricted,这意味着不允许运行任何脚本。为了解决这个问题,您可以更改执行策略以允许脚本运行。以下是如何更改 PowerShell 执行策略的步骤:

  1. 以管理员身份运行 PowerShell

  • 在开始菜单中搜索 PowerShell。

  • 右键点击 “Windows PowerShell” 或 “Windows PowerShell ISE”,选择 “以管理员身份运行”。

  • 查看当前的执行策略

    • 在 PowerShell 窗口中输入 Get-ExecutionPolicy 并按回车。这将显示当前的执行策略。

  • 更改执行策略

    • 如果您想允许所有脚本运行(不推荐用于生产环境,因为这会降低安全性),可以使用以下命令:

      powershell复制代码

      Set-ExecutionPolicy RemoteSigned
    • RemoteSigned 策略允许您运行本地创建的脚本以及从 Internet 下载且由受信任的发布者签名的脚本。

    • 如果您只是想测试或临时允许脚本运行,可以使用 Bypass 策略:

      powershell复制代码

      Set-ExecutionPolicy Bypass

      注意:Bypass 策略会降低系统的安全性,因为它允许运行所有脚本,不进行任何验证。

  • 确认更改

    • PowerShell 可能会要求您确认更改。输入 Y 并按回车以确认。

  • 重新尝试导入模块

    • 更改执行策略后,尝试再次运行 Import-Module WindowsVersion

  • (可选)恢复更严格的执行策略

    • 测试完成后,为了安全起见,您可能希望将执行策略设置回更严格的级别,如 AllSigned 或 Restricted

    如果您在更改执行策略时遇到问题,或者对安全性有更多疑问,请确保了解每种策略的含义和潜在风险。


    普通分类: