マイクロソフトは、Windows 11 24H2および25H2の次期アップデートでVBScriptを無効にする可能性があり、公式ガイドが公開されている。

マイクロソフトは、Windows 11 24H2および25H2の次期アップデートでVBScriptを無効にする可能性があり、公式ガイドが公開されている。

Microsoftの機能廃止:最新の変更点を理解する

Microsoftは、アプリケーション全体にわたって特定の機能を定期的に段階的に廃止しています。同社は、この戦略は最終的にユーザーに利益をもたらすと主張しています。今年だけでも、Bing Search APIやEdgeブラウザ内のいくつかの機能など、様々な機能のサポート終了に関する発表が数多くありました。

Windows ドライバーとツールへの重要な変更

最近の発表では、WindowsデバイスメタデータとWindowsメタデータおよびインターネットサービス(WMIS)の終了に加え、継続的なサポートに値しないと判断されたExcel機能の提供終了も発表されました。この体系的なアプローチは、Microsoftがプラットフォーム全体でセキュリティ機能を標準化するというコミットメントを示しています。

VBScriptの衰退

もう一つ注目すべき点は、VBScriptの廃止が迫っていることです。当初は2023年5月に廃止が予定されていましたが、Microsoftは10月に段階的な廃止を正式に発表しました。廃止の発表は即時の削除を意味するものではなく、この機能に依存している組織にとって移行期間の開始を示すものであることを明確にしておくことが重要です。

廃止プロセスを理解する

廃止プロセスには、ユーザーが適応できるよう複数のタイムラインが設けられています。Microsoftは2024年5月に、3つのフェーズに分かれたロードマップを発表しました。現在、VBScriptはFeature on Demand(FOD)としてデフォルトで有効化されています。

VBScript 削除の予定タイムライン

マイクロソフトは、VBScript の FOD としてのデフォルトの利用が Windows 11 バージョン 24H2 または 25H2 で終了する可能性があることを示唆しており、2026 年と 2027 年に予定されている Windows アップデートでさらなる修正が行われることが予想されています。最近、マイクロソフトはこの件に関して新たな見解を共有しました。

VBScriptは現在、廃止段階にありますが、オンデマンド機能(FOD)として利用可能で、Windows 11 バージョン24H2ではデフォルトで有効化されています。これらのOSバージョンおよび将来のOSバージョンでVBScriptがデフォルトで無効化される前に、企業環境内でvbscript.dllがどこでどのように使用されているかを特定することが重要です。

企業向け事前対策

VBScript が予想よりも早く無効化される可能性があることを考慮し、Microsoft は企業に対し、Windows 11 で VBScript 機能を積極的に無効化することを推奨しています。このガイダンスには、VBScript がシステム内で統合されている場所を特定し、スムーズな移行を確実に行うことが含まれています。

VBScript の検出メカニズム

Microsoftは、企業がワークフロー内でVBScriptのインスタンスを特定するための4つの具体的な方法を概説しています。推奨事項の一つとして、MicrosoftのSysMon(システムモニター)ユーティリティを使用してVBScriptのDLLを追跡し、グループポリシーやPowerShellスクリプトにリンクされた依存関係を分析することが挙げられます。

スキャン用の PowerShell スクリプト

この移行を容易にするために、Microsoftは実用的な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 インストーラー (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 Configuration Manager を通じて組織全体に展開できます。

このコマンドを実行すると、すべてのプロセスでVBScriptが利用できなくなり、サイレントエラーまたはエラー通知が表示されます。詳細については、Microsoftの詳細なブログ投稿をご覧ください。

出典と画像

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です