微软宣布 VBScript 弃用计划,企业需提前部署检测
当地时间 5 月 17 日,微软发布技术公告,旨在帮助企业在 VBScript 全面弃用之前检测并迁移现有环境中的 VBScript 依赖。
注:VBScript 将在未来的 Windows 版本中默认禁用,目前微软已启动分阶段弃用计划并在Win11 24H2中将 VBScript 转为 FOD 可选功能。
策略一:使用 Sysmon 监控 VBScript 使用情况
Sysmon是 Sysinternals 提供的监控工具,支持对.dll加载行为进行细致跟踪。借助其 Event ID 7功能,管理员可以捕捉 vbscript.dll 何时、由哪个进程被加载。
配置 Sysmon 以追踪 vbscript.dll,配置示例如下:
vbscript.dll
要应用此配置,首先需要
使用 Sysinternals Sysmon 实用程序重新加载。以管理员权限打开命令提示符并运行:Sysmon64.exe -c sysmon-config.xml通过运行以下命令验证当前配置:Sysmon64.exe -c策略二:审查 VBScript 依赖项
检查以下集中管理位置中的脚件:
组策略脚本:扫描 \\\SYSVOL 中的.vbs 文件及对 wscript.exe、cscript.exe 的调用。计划任务:检查任务命令行的.vbs 执行痕迹。Intune 部署的 PowerShell 脚本:排查间接调用 VBScript 的情况。策略三:全系统扫描.vbs 文件
通过 PowerScript 脚本扫描用户及脚本相关目录:
C:\Users\C:\ProgramData\C:\Program Files\C:\Scripts\C:\Windows\
示例 PowerShell 脚本:
$pathsToScan=@$logPath=C:\VBSScriptScan\VbsFiles_$.csv$results=foreach{if{Get-ChildItem-Path$path-Filter*.vbs-Recurse-ErrorActionSilentlyContinueSelect-ObjectFullName,LastWriteTime,Length$pathsToScan=@$logPath=C:\VBSScriptScan\VbsFiles_$.csv$results=foreach{if{Get-ChildItem-Path$path-Filter*.vbs-Recurse-ErrorActionSilentlyContinueSelect-ObjectFullName,LastWriteTime,Length}
策略四:扫描自定义 MSI 安装包
例如以下 PowerShell 脚本可分析 MSI 包中嵌入的 VBScript 自定义动作:
后续行动建议
迁移替代方案:参考微软官方文档Dism/Online/Remove-Capability/CapabilityName:VBSCRIPT~~~~
影响:禁用后,依赖 VBScript 的进程将静默失败或报错。
微软强调,当前阶段企业应尽快完成检测与迁移,避免未来操作系统默认禁用导致业务中断。
参考资料: