«

不断弹窗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. 重启电脑后,再测试命令。