セイテクエンジニアのブログ かつて山市良と呼ばれたおじさんのブログ ITニュース. VBScript廃止までのタイムライン発表、ただし廃止時期は未定
2024年05月24日配信
2024年06月18日更新
執筆者:山内 和朗
Microsoftは2024年5月22日(米国時間)、2023年10月に段階的な非推奨化を発表していた「Visual Basic Scripting Edition(VBScript)」の、廃止までのタイムラインを公開しました。VBScriptの廃止は、システム運用管理にも少なからず影響します。完全に廃止されるのは、10年以上先のことになるので慌てる必要はまったくありません。次の世代に丸投げすることもできるかもしれませんが、VBScriptを全く知らない世代の人が古い管理用スクリプトの扱いに困ってしまうことを考えると、できるところから別の方法(PowerShellスクリプトなど)への移行を進めておいて無駄はないでしょう。
※初出時、発表日を2022年5月22日と記載していましたが、正しくは2024年5月22日です。お詫びして訂正します。
Microsoftは2023年10月、「Windowsクライアントの非推奨の機能」リスト(→Microsoft)に「VBScript」(Microsoft Visual Basic Scripting Edition)を追加し、今後のリリースからオンデマンド機能として利用できるようにしながら、段階的に廃止することを発表していました。そして、2024年5月22日(米国時間)、その廃止までの具体的なタイムラインがWindows IT Pro Blogにて発表されました。
VBScript deprecation: Timelines and next steps(VBScriptの廃止: タイムラインと次のステップ)(Windows IT Pro Blog)
今年後半にリリースされるWindows 11バージョン2024において、VBScriptはオンデマンド機能(Features on Demand)化されます。ただし、VBScriptのオンデマンド機能は既定で有効にされるため、標準で利用できるという点ではこれまでと違いはありません。2027年頃に予定されている次のフェーズ2では、VBScriptのオンデマンド機能は既定で無効となります。そのため、この機能が必要であれば、オンデマンド機能から有効化する必要があります。機能更新プログラムによるアップグレードでは、有効な状態が引き継がれることを期待しています。そして、その時期は未定ですが、将来のリリースでWindowsからVBScriptの機能は完全に削除されることになります。
Windows Serverに当てはめると、フェーズ1は今年後半のWindows Server 2025、フェーズ2はその次のメジャーバージョンになると予想されます。Windows Serverは10年のライフサイクル(メインストリーム5年、延長5年)が提供されるので、今後10年以上は引き続きVBScriptを利用可能です。次の次のメジャーバージョンからは削除されているかもれません。一方、Windowsクライアントのライフサイクルは24か月(Home、Pro)または36か月(Enterprise、Education)なので、最短で2029年(2027年の2年後のバージョンで削除された場合)にはVBScriptが削除されたWindowsバージョンが登場する可能性があります。
VBScriptは、IISのレガシな「Active Derver Pages(ASP)」での動的なWebサイト、Windowsのスクリプトエンジンである「Windows Script Host(WSH)」、既にサポートが終了した「Internet Explorer」のクライアントサイドスクリプティング、「HTML Application(HTA)」などで利用されてきました。このリストを見れば分かるように、レガシな環境で利用されてきたスクリプト言語です(注:Visual BasicやVisual Basic for Applicationとは違うものです)。しかし、システム運用管理に携わるものの多くは、VBScriptで記述した自動化スクリプトや管理スクリプトを今でも多用していることでしょう。アプリケーションベンダーは、インストーラーの自動開始のために「autorun.hta」の中でVBScriptを利用しているかもしれません。Windows自身もOSの一部としてVBscriptを利用しています。「C:¥Windows¥System32」の下には複数のVBScript(.vbs、.wsf)が見つかります。例えば、Windowsのライセンス管理ツール「slmgr.vbs」です。
Microsoft自身も将来のリリースで、現在のWindowsに含まれるVBScriptに対処することになるでしょう。システム運用管理に携わる人は、10年後の後任者のために、利用中のスクリプトのメンテナンスや修正を行う機会などに、別の方法、例えばPowerShellスクリプト化しておくなどしておくと良いと思います。
このブログでも、Windows Updateのスクリプト化関連でいくつかVBScriptを紹介しました。こちらの「get-wustatus.vbs」は、PowerShell版の「get-wustatus.ps1」とともに紹介しています。こちらで紹介したMicrosoft提供の「WUA_SearchDownloadInstall.vbs」については、サンプルを丸ごと拝借しているのでPowerShell化したものを紹介する予定はありません。
現在公開されている「WUA_SearchDownloadInstall.vbs」(→Microsoft)ではなく、古い「WUA_SearchDownloadInstall.vbs」(→Microsoft)については、機能を少し追加してPowerShell化した「WindowsUpdate.ps1」を旧ブログサイト(→Windows Scripting: Windows Update をスクリプトから ( WindowsUpdate.ps1 ) )で紹介しています(注:14年前の記事です)。