最近在个人环境遇到一个非常棘手的问题。在使用 OpenConnect VPN 连接时,明明已经通过了账号密码认证,但最后一步配置路由时总是弹出:Script 'vpnc-script.js' returned error 1。
起初我以为是权限问题或脚本路径不对,但在手动定位到目录执行时,发现了惊人的报错:
C:\> cscript //E:JScript "D:\...\vpnc-script.js"
输入错误: 没有文件扩展“.js”的脚本引擎。 这说明系统的 JScript 解析引擎 彻底消失了。回想起之前安装并卸载过一个叫“节点小宝”的软件,原因显而易见:这些软件会劫持脚本关联,卸载时却没把原生的还给 Windows。
对于我来说,最担心的就是破坏现有的系统环境,因为我电脑上的环境已经复杂到不想重装系统了。实测证明,修复 JScript 关联是非常安全的操作。
恢复注册表关联:创建并运行以下 fix.reg 文件:
regWindows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.js] @="JSFile" "Content Type"="text/jscript" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JSFile\ScriptEngine] @="JScript"
这次修复不仅解决了 VPN 无法连接的问题,还意外发现系统中其他依赖 WSH (Windows Script Host) 的脚本工具也都恢复了。
建议
定期清理这类修改系统底层的软件,或者在沙盒中运行它们是很有必要的。
本文作者:Casear
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!