Windows 10下使用JEnv执行PowerShell脚本失败求助
解决Windows 10中JEnv脚本未签名且执行策略被组策略覆盖的问题
方案1:临时绕过执行策略运行单个脚本
直接在PowerShell中执行以下命令,针对单次运行jenv脚本绕过执行策略限制:
powershell -ExecutionPolicy Bypass -File "C:\dev_tools\JEnv\src\jenv.ps1"
该命令仅对当前进程生效,不会修改全局执行策略,也不受MachinePolicy的限制。
方案2:为JEnv脚本添加自签名证书
若拥有管理员权限,可通过自签名证书给脚本签名,满足AllSigned策略要求:
- 以管理员身份打开PowerShell,生成代码签名证书:
New-SelfSignedCertificate -Type CodeSigningCert -Subject "CN=你的用户名" -CertStoreLocation "Cert:\CurrentUser\My"
- 打开
certmgr.msc,找到“个人>证书”下刚生成的证书,右键选择「所有任务>导出」,按向导导出为PFX格式(可设置密码)。 - 再次打开
certmgr.msc,进入“受信任的根证书颁发机构>证书”,右键选择「所有任务>导入」,将导出的PFX证书导入。 - 给JEnv脚本签名:
Set-AuthenticodeSignature -FilePath "C:\dev_tools\JEnv\src\jenv.ps1" -Certificate (Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert)
方案3:创建带执行策略参数的PowerShell快捷方式
创建专用快捷方式,每次通过它启动PowerShell即可运行JEnv:
- 右键桌面空白处,选择「新建>快捷方式」。
- 目标栏输入:
powershell.exe -ExecutionPolicy Bypass
- 完成快捷方式创建后,双击打开该窗口,再运行JEnv脚本即可。
内容的提问来源于stack exchange,提问作者Yang Li
相关产品推荐
相关产品推荐

