Microsoft có thể vô hiệu hóa VBScript sớm trong Windows 11 24H2/25H2, có gì cần lưu ý?

Gần đây, Microsoft đã thông báo ngừng hỗ trợ Bing Search APIs và một tính năng khác của Edge để ưu tiên các giải pháp chuẩn hóa và bảo mật hơn. Hãng cũng xác nhận những thay đổi lớn về driver phần cứng Windows khi tuyên bố ngừng hỗ trợ Windows Device metadata cùng Windows Metadata and Internet Services (WMIS). Đồng thời, một tính năng Excel cũng sẽ bị loại bỏ do Microsoft cho rằng không đáng để duy trì.

Tương tự, việc loại bỏ VBScript đã “nằm trong tầm ngắm” của Microsoft từ lâu. Công tylần đầu bày tỏ ý định này vào tháng 5/2023 và chính thức tuyên bố ngừng hỗ trợ tiện ích này vào tháng 10 cùng năm.

Tuy nhiên, cần lưu ý rằng thông báo ngừng hỗ trợ không đồng nghĩa với việc tính năng sẽ biến mất ngay lập tức. Thay vào đó, tính năng được đánh dấu để loại bỏ và bước vào "giai đoạn ngừng hỗ trợ" - khoảng thời gian giúp các tổ chức phụ thuộc vào tính năng có thể chuyển đổi.

Trong bản lộ trình công bố tháng 5/2024, Microsoft chia quá trình loại bỏ VBScript thành 3 giai đoạn. Hiện tại, VBScript vẫn đang ở giai đoạn đầu tiên với tư cách là tính năng tùy chọn (FOD) được kích hoạt mặc định.

Điểm phức tạp nằm ở chỗ, dù Microsoft trước đây đề cập VBScript FOD sẽ bị vô hiệu hóa vào khoảng năm 2027 (trùng với các bản cập nhật Windows 2026-2027), nhưng bài đăng hướng dẫn mới nhất công bố gần đây lại gợi ý khả năng tính năng này sẽ bị loại bỏ sớm ngay trong phiên bản 24H2 hoặc 25H2

Microsoft cho biết:

Ở giai đoạn ngừng hỗ trợ hiện tại, VBScript vẫn khả dụng dưới dạng FOD và được kích hoạt mặc định trong Windows 11 phiên bản 24H2. Trước khi bị vô hiệu hóa mặc định trên các phiên bản hệ điều hành này và tương lai, việc xác định vị trí và cách thức sử dụng vbscript.dll trong môi trường doanh nghiệp là cực kỳ quan trọng.

Cách diễn đạt này ngụ ý VBScript có thể bị loại bỏ sớm với tư cách FOD mặc định, đồng thời giải thích lý do Microsoft chia sẻ hướng dẫn mới nhằm giúp doanh nghiệp chuyển đổi nhanh hơn. Dù vậy, "gã khổng lồ" công nghệ khẳng định đã đến lúc cần "chủ động vô hiệu hóa VBScript trên Windows 11".

Trong hướng dẫn, Microsoft nêu bật 4 cơ chế giúp doanh nghiệp phát hiện việc sử dụng VBScript trong quy trình làm việc, từ đó thực hiện các bước cần thiết để loại bỏ tất cả thư viện liên kết động (.dll) dựa trên VBScript:

1. Sử dụng tiện ích SysMon (System Monitor) chính thức để theo dõi và xác định VBScript DLLs

2. Rà soát các phụ thuộc VBScript như Group Policy và PowerShell scripts liên quan đến:

  • 1. Đăng nhập/đăng xuất
  • 2 Khởi động/tắt máy
  • Tác vụ theo lịch
  • Lệnh gọi VBScript

Microsoft cũng cung cấp script PowerShell để quét file VBScript trên toàn hệ thống:

$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
   }
}

Đặc biệt, hãng còn cung cấp script mẫu khác để phát hiện VBScript nhúng trong gói Microsoft Installer (MSI):

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()
    }

Sau khi phát hiện sử dụng VBScript, Microsoft hướng dẫn doanh nghiệp cách vô hiệu hóa chủ động bằng lệnh DISM:

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

Có thể triển khai lệnh này hàng loạt thông qua:

  • Microsoft Intune
  • GPO Startup Scripts
  • Microsoft Configuration Manager

Microsoft cảnh báo sau khi thực thi lệnh, mọi tiến trình sử dụng VBScript sẽ bị chặn và có thể "lỗi im lặng hoặc báo lỗi rõ ràng". Bạn có thể đọc toàn bộ bài đăng trên trang Tech Community chính thức của Microsoft.

Thứ Hai, 19/05/2025 06:42
31 👨 142
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖
    ❖ Chuyện công nghệ
    Chia sẻ
    Chia sẻ FacebookChia sẻ Twitter
    Đóng