7月7日にリリースしたWindows 10 Insider Preview ビルド16237で、MicrosoftはInternet Explorer 11の「VBScript」を無効にした。IE 11のドキュメントモード (互換モード) にかかわらず、セキュリティゾーンの「インターネット」「制限付きサイト」でVBScriptは無効。「イントラネット」「信頼済みサイト」では利用できる。

そもそもIE 11はVBScriptの利用を推奨しておらず、「meta http-equiv="x-ua-compatible" content="IE=10"」とドキュメントモードを明示することで、VBScriptの利用を可能にしていた。Microsoft独自のスクリプト言語であるVBScriptは、Windows以外で動作しないことから汎用性に乏しく、現在は下位互換性を保つための存在でしかない。最初にVBScriptを実装したのは、1996年8月リリースのIE 3.0であったことを思い返せば、VBScriptがいかに古い設計であるかを理解できる。

IE 11上でもHTML上でドキュメントモードを明示すれば、VBScriptは利用できる

Microsoftの公式ブログによれば、レジストリやグループポリシーを使うことで、インターネット/制限付きサイトゾーンでもVBScriptを引き続き利用できる。だが、企業内の古いグループウェア以外でVBScriptを見かける機会は皆無だ。筆者もWSH (Windows Script Host) を利用するため、Windows 98時代にVBScriptの資料を読みかじった過去があるものの、Windows 10の時代になるとVBScriptの知識が役立つ場面は少ない。

他方でVBScriptは牧歌的な時代に設計されたスクリプト言語のため、レジストリエントリーの操作など柔軟性を備えている。この機能を悪用するマルウェアがインターネット上で横行し、見知らぬ相手から届くメールの添付ファイルはVBScriptで書かれたHTA (HTML Applications) ファイルが多かった。WSHはバッチファイルでは実行できない複雑な作業をWindows上で実行可能にするのが主目的だったが、その役割は現在Windows PowerShellが担っている。

Microsoftは今回の仕様変更に対する意見や、Windows Insider Preview上で発生した問題に対してフィードバックを求めているが、さすがに反対意見はないと思われる。前述のとおりVBScriptの代替機能は存在し、WSHはもちろん、IISのASP(Active Server Pages)などでVBScriptを使うメリットもなくなった。VBScriptはその役割を終えたのである。

ちなみに、VBScriptと同時期に登場したスクリプト言語のJScriptは、MicrosoftによるJavaScriptの独自実装なので、現在も使われている。もっともIE自体が下位互換性を保つための存在であり、同社はMicrosoft Edgeの開発や機能拡張に注力中だ。VBScriptの正式名称はMicrosoft Visual Basic Scripting Editionだが、元となるVisual Basicもすでに開発を終えている。遅ればせながら、この言葉で締めたい。

さよなら、BASIC。 さよなら、VBScript。

阿久津良和(Cactus)