免费安卓手游下载、分享游戏攻略、电脑硬件资讯、数码科技最新资讯
当前位置: 首页 > 数码科技 > 微软发布公告:企业需尽快迁移现有VBScript依赖,未来默认禁用

微软发布公告:企业需尽快迁移现有VBScript依赖,未来默认禁用

时间:2025-05-25 04:25

小编:小世评选

近日,微软在其官方公告中明确指出,随着时代的发展和技术的不断更新,VBScript 将在未来的 Windows 版本中默认禁用。为了帮助企业顺利过渡,微软建议企业尽快检测并迁移现有环境中对 VBScript 的依赖。在最新的 Windows 11 24H2 中,VBScript 已被标记为可选功能,企业应对此变化保持警惕。

VBScript的现状与未来

VBScript(Visual Basic Scripting Edition)曾经是 Windows 操作系统中重要的脚本语言之一,广泛 used用于自动化任务、网页脚本和系统管理等多个领域。随着网络安全风险的上升以及更高效、功能更全的编程语言和脚本语言的崛起,如 PowerShell 和 Python,VBScript 的使用逐渐被淘汰。因此,微软决定逐步弃用这项技术,计划在未来的 Windows 更新中默认禁用 VBScript。

检测与迁移的策略

为了使企业能够有效应对这一变化,微软提供了一些检测与迁移策略。企业可以通过以下几个步骤来评估并清理现有环境中的 VBScript 依赖:

策略一:使用 Sysmon 监控 VBScript 使用情况

Sysmon(System Monitor)是由 Sysinternals 提供的一个系统监控工具,通过监控 .dll 加载行为,管理员可以追踪到 vbscript.dll 的使用情况。通过配置 Sysmon 的 Event ID 7(图片加载),可及时捕捉到何时、由哪个进程加载了 VBScript。这样的监控可以为后期的迁移工作奠定基础,帮助管理员识别脚本的调用来源。

配置样例如下:

```xml

<Sysmon schemaversion="4.50">

<EventFiltering>

<ImageLoad onmatch="include">

<ImageLoaded condition="contains">vbscript.dll</ImageLoaded>

</ImageLoad>

</EventFiltering>

</Sysmon>

```

应用此配置后,管理员可以通过命令提示符重新加载 Sysmon 配置文件,以确保监控信息的准确性。

策略二:审查 VBScript 依赖项

企业可以通过集中管理位置上的脚本文件进行全面审查,检测是否存在 VBScript 的依赖。可以检查的内容包括:

组策略脚本:扫描网络共享路径中的 .vbs 文件,观察其对 wscript.exe 或 cscript.exe 的调用方式。

定时任务:检索任务命令行中的 .vbs 执行记录,以发现潜在的依赖。

Intune 部署的 PowerShell 脚本:对所有间接调用 VBScript 的情况进行排查。

策略三:全系统扫描 .vbs 文件

通过编写 PowerShell 脚本,可以自动扫描用户目录和相关脚本目录,以查找和记录所有的 .vbs 文件。例如,可以扫描以下路径:

```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

}

}

```

通过这种方式,企业能够以更高效的方式找到各个系统中的 VBScript 文件,为后续的迁移工作做好准备。

策略四:扫描自定义 MSI 安装包

许多企业在使用自定义 MSI 安装包时,可能会在其安装过程中嵌入 VBScript 作为自定义动作。因此,审查 MSI 安装包也是必不可少的一步。例如,通过以下 PowerShell 脚本能够分析 MSI 包中的 VBScript 自定义动作:

```powershell

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 的 MSI 包,并评估其影响。

后续行动建议

在确认企业环境中无 VBScript 依赖的情况下,建议通过以下命令主动禁用 VBScript:

```bash

Dism /Online /Remove-Capability /CapabilityName:VBSCRIPT~~~~

```

注意,禁用 VBScript 后,任何依赖 VBScript 的进程,如 cscript.exe,都将无法正常运行,可能导致业务中断。因此,在迁移过程中应进行充分测试。

微软强调,企业应立即启动 VBScript 的检测与迁移工作,确保在未来操作系统默认禁用 VBScript 之前顺利过渡。相关的迁移替代方案详见微软官方提供的文档——《VBScript 弃用:时间线与后续步骤》,帮助企业选择更加现代化的技术来替代 VBScript,以提高系统的安全性和效率。企业应尽快采取行动,以免影响到正常的业务运作。

精品推荐

相关文章

猜你喜欢

更多

热门文章

更多