
微軟的功能棄用:了解最新變化
微軟會定期淘汰其應用程式中的某些功能,該公司聲稱這項策略最終會使用戶受益。光是今年,就出現了許多關於各種功能終止的公告,包括 Bing 搜尋 API 和 Edge 瀏覽器中的多項功能。
Windows 驅動程式和工具的重大變化
最近的公告包括終止 Windows 裝置元資料和 Windows 元資料和 Internet 服務 (WMIS),以及停止被認為不值得持續支援的 Excel 功能。這種結構化方法體現了微軟致力於在其平台上標準化安全功能的承諾。
VBScript 的衰落
另一個值得注意的點是即將刪除 VBScript。該功能最初於 2023 年 5 月被標記為棄用,微軟於 10 月正式確認將分階段撤回該功能。需要澄清的是,棄用公告並不等同於立即刪除;相反,它標誌著依賴此功能的組織的過渡期。
了解棄用過程
棄用過程需要幾個時間表,以便使用者適應。 2024年5月,微軟概述了分為三個階段的路線圖。目前,VBScript 仍會作為按需功能 (FOD) 預設為啟用。
VBScript 刪除的預計時間表
微軟表示,VBScript 作為 FOD 的預設可用性最早可能在 Windows 11 版本 24H2 或 25H2 中停止,這導致情況變得更加複雜,預計在 2026 年和 2027 年即將發布的 Windows 更新中會有進一步的修訂。最近,微軟就此事分享了新的見解:
在 VBScript 目前的棄用階段,它是作為按需功能 (FOD) 提供,並在 Windows 11 版本 24H2 中預設為啟用。在這些版本和未來的作業系統版本上預設停用 VBScript 之前,確定企業環境中仍在使用 vbscript.dll 的位置和方式至關重要。
企業積極措施
鑑於 VBScript 可能比預期更早被停用,微軟敦促企業主動停用 Windows 11 上的 VBScript 功能。該指南包括識別 VBScript 在其係統中的整合位置,以確保平穩過渡到不再使用 VBScript。
VBScript 的偵測機制
微軟概述了四種具體方法來幫助企業在其工作流程中定位 VBScript 實例。建議之一是使用 Microsoft 的 SysMon(系統監視器)實用程式來追蹤 VBScript DLL 並分析與群組原則和 PowerShell 腳本相關的依賴關係。
用於掃描的 PowerShell 腳本
為了促進這種轉變,微軟提供了實用的 PowerShell 腳本。以下是一個可以掃描系統上的 VBScript 檔案的腳本:
$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 腳本有助於偵測 Microsoft Installer (MSI) 套件中嵌入的 VBScript:
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,為了停用它,Microsoft 建議使用以下命令:
使用以下部署映像服務和管理 (DISM) 命令來停用它:
Dism /Online /Remove-Capability /CapabilityName:VBSCRIPT~~~~
此命令可以透過 Microsoft Intune、GPO 啟動腳本或 Microsoft 設定管理員在整個組織中部署。
執行此命令將阻止所有進程使用 VBScript,從而導致靜默故障或錯誤通知。如需進一步了解,您可以在此處閱讀 Microsoft 有關此主題的詳細部落格文章。
發佈留言 ▼