如何运行自定义PowerShell脚本?已尝试多种策略仍报错求解决
问题
已尝试以下操作:
##powershell.exe -executionpolicy -bypass ##Unblock-File -Path C:\SRM.ps1 Set-ExecutionPolicy -Scope Process -ExecutionPolicy ByPass
无论执行何种操作,始终收到错误:
无法加载文件C:\SRM.ps1。该文件C:\SRM.ps1未经过数字签名,无法在当前系统上运行。
环境:Windows 11 最新版本,以管理员身份运行PowerShell ISE
解决办法
正确执行文件解锁命令
取消Unblock-File命令的注释,直接运行:Unblock-File -Path C:\SRM.ps1该命令用于移除Windows给下载文件添加的"来自互联网"标记,这是导致签名校验失败的常见原因。
通过PowerShell命令行直接调用脚本
打开管理员权限的PowerShell(而非ISE),执行:powershell.exe -ExecutionPolicy Bypass -File "C:\SRM.ps1"此命令会临时绕过执行策略运行脚本,不会修改系统全局策略。
调整当前用户执行策略
先查看当前用户的执行策略:Get-ExecutionPolicy -Scope CurrentUser如果策略为
Restricted或AllSigned,可临时改为RemoteSigned(允许本地无签名脚本运行):Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force操作完成后建议改回原策略,保障系统安全。
手动移除文件安全标记
右键点击C:\SRM.ps1→ 选择「属性」→ 在「常规」选项卡底部找到「安全」区域,点击「解除锁定」(若存在),再点击「确定」。
内容的提问来源于stack exchange,提问作者Grantx
相关产品推荐
相关产品推荐

