MS_WSH - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- 戻る(スクリプティング)
- WSH
- VBScript
- PowerShell
Windows Script Host (WSH)
- Windows 98 から搭載された。
- Windows においてテキストファイルに記述したスクリプトを実行するスクリプト実行環境
- UNIX 系 OS のシェル・スクリプトや、MS-DOS におけるバッチ・ファイルと
似た位置付のスクリプティング技術。
移行メモ: 元ページは「Windows Scripting Host」としていたが、
正式名称は Windows Script Host(Scriptingではない)である。
拡張子.wsfやWScriptオブジェクトの名称もこれに対応する。
- Active Scripting(Windows でスクリプトを実行するための基盤)のホストとなっている。
- 故に、他のスクリプト言語用の動作環境(エンジン)をインストールすることにより、
Perl などでも処理を行える。 - COM を通じて強力な機能を利用できるため、非常に高度で煩雑な処理を
記述できるようになった。
- VBScript
- JScript
| 用途 | 実行ファイル | 内容 |
|---|---|---|
| GUI 用 | wscript.exe |
エクスプローラで VBScript ファイルをダブルクリックすると、既定でこちらが使用される |
| CUI 用 | cscript.exe |
コマンドプロンプトから cscript.exe スクリプトファイル.vbs オプション の様に実行 |
-
cscript.exe自身へのオプションは//で始まる形式で、
スクリプトファイルへの引数と並べて書く。
補足(実務での定番): バッチから呼ぶ場合は
必ずcscriptを明示する。wscriptだと
WScript.Echoがメッセージ ボックスになり、処理が止まる。cscript //nologo //E:vbscript script.vbs arg1
オプション 内容 //nologoバナー(著作権表示)を出さない //E:vbscriptエンジンを明示(拡張子が関連付けられていない場合) //Bバッチ モード(エラー ダイアログを出さない) //T:nnタイムアウト(秒) 既定エンジンは
cscript //H:cscriptで切り替えられる。
- 後継は、PowerShell。
- .NET Framework 2.0 で Active Scripting が非推奨化。
- 今後、新しい機能が追加される予定は無いとされている。
補足(最新化:段階的な無効化が進行中): 「新機能が追加されない」
という段階から、さらに進んで廃止の工程が始まっている。
時期 内容 2023-10 Microsoft が **VBScript の非推奨(deprecation)**を公表 Windows 11 24H2 〜 VBScript が「オンデマンド機能(FoD)」化(既定で有効だが、切り離し可能に) 将来 既定で無効 → 完全削除の予定 WSH そのものではなく VBScript エンジンが対象だが、
WSH の標準言語であるため実質的な影響は大きい
(VBScriptを参照)。既存の
.vbs資産は、PowerShell への移行を計画しておく必要がある。
- Windows Script Host - Wikipedia
https://ja.wikipedia.org/wiki/Windows_Script_Host - Windows Script Host の基礎
https://learn.microsoft.com/previous-versions/windows/internet-explorer/ie-developer/windows-scripting/9bbdkx3k(v=vs.84) - VBScript の非推奨に関するタイムライン
https://learn.microsoft.com/windows/whats-new/deprecated-features
Tags: 移行, シェル, インフラストラクチャ, Windows