IT之家Win11VBScript 弃用:时间线与后续步骤VBScript deprecation: Detection strategies for Windows - Windows IT Pro BlogVBScript deprecation: Timelines and next steps | Windows IT Pro Blog 5 月 18 日消息,当地时间 5 月 17 日,微软发布技术公告,旨在帮助企业在 VBScript 全面弃用之前检测并迁移现有环境中的 VBScript 依赖。

IT之家注:VBScript 将在未来的 Windows 版本中默认禁用,目前微软已启动分阶段弃用计划并在 IT之家Win11VBScript 弃用:时间线与后续步骤VBScript deprecation: Detection strategies for Windows - Windows IT Pro BlogVBScript deprecation: Timelines and next steps | Windows IT Pro Blog 24H2 中将 VBScript 转为 FOD 可选功能。


Sysmon(System Monitor)是 Sysinternals 提供的监控工具,支持对 .dll 加载行为进行细致跟踪。借助其 Event ID 7(Image Load)功能,管理员可以捕捉 vbscript.dll 何时、由哪个进程被加载。
配置 Sysmon 以追踪 vbscript.dll,配置示例如下:
<Sysmon schemaversion="4.50"> <EventFiltering> <ImageLoad onmatch="include"> <ImageLoaded condition="contains">vbscript.dll</ImageLoaded> </ImageLoad> </EventFiltering> </Sysmon>
要应用此配置,首先需要编辑您的 Sysmon 配置文件(通常是 sysmon-config.xml)。
使用 Sysinternals Sysmon 实用程序重新加载。
以管理员权限打开命令提示符并运行:Sysmon64.exe -c sysmon-config.xml
通过运行以下命令验证当前配置:Sysmon64.exe -c
检查以下集中管理位置中的脚本文件:
组策略脚本:扫描 \\<domain>\SYSVOL 中的.vbs 文件及对 wscript.exe、cscript.exe 的调用。
计划任务:检查任务命令行的.vbs 执行痕迹。
Intune 部署的 PowerShell 脚本:排查间接调用 VBScript 的情况。
通过 PowerScript 脚本扫描用户及脚本相关目录:
C:\Users\
C:\ProgramData\
C:\Program Files\
C:\Scripts\
C:\Windows\(可选,可能包含干扰文件)
示例 PowerShell 脚本:
$pathsToScan = @("C:\Users", "C:\ProgramData", "C:\Scripts")
$logPath = "C:\VBSScriptScan\VbsFiles_$(hostname).csv"
$results = foreach ($path in $pathsToScan) {
if (Test-Path $path) {
Get-ChildItem -Path $path -Filter *.vbs -Recurse -ErrorAction SilentlyContinue |
Select-Object FullName, LastWriteTime, Length
}
}
$pathsToScan = @("C:\Users", "C:\ProgramData", "C:\Scripts")
$logPath = "C:\VBSScriptScan\VbsFiles_$(hostname).csv"
$results = foreach ($path in $pathsToScan) {
if (Test-Path $path) {
Get-ChildItem -Path $path -Filter *.vbs -Recurse -ErrorAction SilentlyContinue |
Select-Object FullName, LastWriteTime, Length
}
}
例如以下 PowerShell 脚本可分析 MSI 包中嵌入的 VBScript 自定义动作(Action Type 6、38、50):
Get-ChildItem -Path "C:\MSIRepo" -Recurse -Filter *.msi | ForEach-Object {
$msiPath = $_.FullName
$sql = "SELECT * FROM CustomAction"
$installer = New-Object -ComObject WindowsInstaller.Installer
$database = $installer.GetType().InvokeMember("OpenDatabase", "InvokeMethod", $null, $installer, @($msiPath, 0))
$view = $database.OpenView($sql)
$view.Execute()
$record = $view.Fetch()
while ($record -ne $null) {
$actionName = $record.StringData(1)
$actionType = [int]$record.StringData(2)
if ($actionType -eq 6 -or $actionType -eq 38 -or $actionType -eq 50) {
Write-Output "⚠ VBScript Custom Action: $actionName in $msiPath"
}
$record = $view.Fetch()
}
}
后续行动建议
迁移替代方案:参考微软官方文档《IT之家Win11VBScript 弃用:时间线与后续步骤VBScript deprecation: Detection strategies for Windows - Windows IT Pro BlogVBScript deprecation: Timelines and next steps | Windows IT Pro Blog》选择现代技术。
主动禁用 VBScript:在确认无依赖后,通过命令禁用:
Dism /Online /Remove-Capability /CapabilityName:VBSCRIPT~~~~
影响:禁用后,依赖 VBScript 的进程(如 cscript.exe)将静默失败或报错。
微软强调,当前阶段企业应尽快完成检测与迁移,避免未来操作系统默认禁用导致业务中断。
参考资料:
《IT之家Win11VBScript 弃用:时间线与后续步骤VBScript deprecation: Detection strategies for Windows - Windows IT Pro BlogVBScript deprecation: Timelines and next steps | Windows IT Pro Blog》
《IT之家Win11VBScript 弃用:时间线与后续步骤VBScript deprecation: Detection strategies for Windows - Windows IT Pro BlogVBScript deprecation: Timelines and next steps | Windows IT Pro Blog》
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。
苏州古典园林,简称苏州园林,是世界文化遗产国家AAAAA级旅游景区,中国十大风景名胜之一苏州古典园林素有“园林之城”之称,享有“江南园林甲天下,苏州园林甲江南”之美誉,誉为“咫尺之内再造乾坤”苏州古典...
转自:大连日报 安全生产三管三必须 本报讯(大连新闻传媒集团记者巴家伟)近日,市安委办综合检查组采取“四不两直”方式,组织开展冬季防火防爆安全大检查,重点检查电焊等特种作业安全措施落实情况...
酒周志 作者:陈沛 编辑:三火 排版:玉琪 后疫情时代,消费者的健康需求正在催生新一轮的保健酒热潮。 保健酒的未来到底在哪里? 近日,拥有“中国保健酒第一股”的海南椰岛,或迎来新的...
针对部分药品等涉疫物资价格波动和市场竞争问题,市场监管总局发布《关于涉疫物资价格和竞争秩序提醒告诫书》,从规范价格行为、维护公平竞争等方面,对涉疫物资生产经营者划出“九不得”红线。 提醒告诫书...
今天给各位分享十大超燃战歌bgm的知识,其中也会对十大超燃战歌bgm中文进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、十大气势背景音乐的其他音乐 2、2...
今天给各位分享全国连锁西餐厅品牌的知识,其中也会对全国连锁西餐店品牌进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、中国西餐厅排名 2、现在哪些出名的西餐...