网站首页 > 资源文章 正文
IT之家 5 月 18 日消息,当地时间 5 月 17 日,微软发布技术公告,旨在帮助企业在 VBScript 全面弃用之前检测并迁移现有环境中的 VBScript 依赖。
IT之家注:VBScript 将在未来的 Windows 版本中默认禁用,目前微软已启动分阶段弃用计划并在 Win11 24H2 中将 VBScript 转为 FOD 可选功能。
策略一:使用 Sysmon 监控 VBScript 使用情况
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
策略二:审查 VBScript 依赖项
检查以下集中管理位置中的脚本文件:
组策略脚本:扫描 \\<domain>\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 = @("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 } }
策略四:扫描自定义 MSI 安装包
例如以下 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() } }
后续行动建议
迁移替代方案:参考微软官方文档《VBScript 弃用:时间线与后续步骤》选择现代技术。
主动禁用 VBScript:在确认无依赖后,通过命令禁用:
Dism /Online /Remove-Capability /CapabilityName:VBSCRIPT~~~~
影响:禁用后,依赖 VBScript 的进程(如 cscript.exe)将静默失败或报错。
微软强调,当前阶段企业应尽快完成检测与迁移,避免未来操作系统默认禁用导致业务中断。
参考资料:
猜你喜欢
- 2025-06-04 VBMAN:基于VB6的快速服务器框架(vb搭建服务器)
- 2025-06-04 渗透过程中,你真的知道大黑客进入网站后要做什么嘛?
- 2025-06-04 天鬼指示器-WA字符串(天鬼指示器-wa字符串在哪里)
- 2025-06-04 Windows 系统内核的演变对系统编程有什么影响
- 2025-06-04 Win7/Win8.1卫士:微软EMET 5.2正式版下载
- 2025-06-04 windows错误代码0x80072EE2?win10系统更新错误问题的处理方法
- 2025-06-04 126A打印提示系统不支持请求的命令 解决方案3
- 2025-06-04 电脑搜索功能不能用怎么办?教你一招快速恢复
- 2025-06-04 CDR X6,X7安装出现1406英文对话框提示解决办法
- 2025-06-04 vbs是什么(VBS是什么表征方法)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)