不断弹窗mshta.exe无权访问
发布于 阅读:0
1. 打开文件夹:`C:\Windows\System32`(32位系统)或 `C:\Windows\SysWOW64`(64位系统,同时也要看System32);
2. 查找 `mshta.exe`: - 若文件缺失:复制其他正常Windows电脑同路径下的 `mshta.exe`(需和系统版本匹配,比如Win10/Win11对应版本),粘贴到对应文件夹,然后右键→属性→安全→给“Administrators”和“当前用户”分配“读取和执行”权限; - 若文件存在:右键→属性→数字签名,确认签名是“Microsoft Windows”(无签名或签名异常说明文件损坏,按上面方法替换)。 #### 步骤2:解除组策略对 mshta 的限制(关键!) 很多安全策略会通过组策略禁用 mshta.exe,防止恶意脚本执行: 1. 按 `Win+R` 输入 `gpedit.msc`,打开“本地组策略编辑器”; 2. 依次展开:**计算机配置 → Windows设置 → 安全设置 → 软件限制策略 → 附加规则**(若没有“软件限制策略”,右键→新建软件限制策略);
3. 查看右侧是否有 `mshta.exe` 的“不允许”规则: - 若有:右键删除该规则; - 若没有:继续下一步,新建“允许”规则: 右键→新建路径规则→浏览选择 `C:\Windows\System32\mshta.exe` →安全级别选择“不受限制”→确定; 再重复一次,添加 `C:\Windows\SysWOW64\mshta.exe`(64位系统必做)。 ####
步骤3:解除注册表 对 mshta 的禁用 部分软件会通过注册表禁用 mshta,
需恢复默认值: 1. 按 `Win+R` 输入 `regedit`,打开注册表编辑器;
2. 定位到以下路径,删除可能存在的“禁用项”: ``` HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Script Host\Settings ``
` 3. 检查右侧是否有 `Enabled` 键值: - 若有且值为 `0`(禁用):双击改为 `1`(启用); - 若没有:右键→新建→DWORD(32位)值→命名为 `Enabled`→值设为 `1`;
4. 再定位到以下路径,确保 mshta 的关联正常: ``` HKEY_CLASSES_ROOT\VBSFile\Shell\Open\Command ``` 右侧默认值应为 `"%SystemRoot%\System32\WScript.exe" "%1" %*`(若被修改,改回默认)。 ### 三、排查安全软件拦截 360、火绒、Windows Defender 等安全软件可能会把 `mshta.exe` 当作“恶意脚本载体”拦截: 1. 暂时关闭所有安全软件(包括实时防护); 2. 再次执行正确的命令: ```cmd mshta.exe vbscript:msgbox("测试",64,"标题")&window.close ``` 3. 若能弹出框,说明是安全软件拦截: - 打开安全软件→防护设置→添加 `mshta.exe`(路径 `C:\Windows\System32\mshta.exe` 和 `C:\Windows\SysWOW64\mshta.exe`)到“信任列表”或“白名单”; - 或在安全软件的“拦截日志”中找到对应记录,选择“允许”或“信任”。 ### 四、修复系统文件(mshta 关联损坏) 若以上步骤都无效,可能是系统文件关联或 mshta 本身损坏,用系统自带工具修复: 1. 以 **管理员身份** 打开 CMD; 2. 依次执行以下命令(每执行完一条按回车,等待完成后再执行下一条): ```cmd sfc /scannow # 修复系统文件 DISM /Online /Cleanup-Image /RestoreHealth # 修复系统映像 assoc .vbs=VBSFile # 恢复VBS脚本关联 ftype VBSFile="%SystemRoot%\System32\WScript.exe" "%1" %* # 恢复VBS执行程序 ``` 3. 重启电脑后,再测试命令。