MS_WSH - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

WSH

概要

Windows Script Host (WSH)

  • Windows 98 から搭載された。
  • Windows においてテキストファイルに記述したスクリプトを実行するスクリプト実行環境
  • UNIX 系 OS のシェル・スクリプトや、MS-DOS におけるバッチ・ファイルと
    似た位置付のスクリプティング技術。

移行メモ: 元ページは「Windows Scripting Host」としていたが、
正式名称は Windows Script HostScripting ではない)である。
拡張子 .wsfWScript オブジェクトの名称もこれに対応する。

詳細

  • Active Scripting(Windows でスクリプトを実行するための基盤)のホストとなっている。
  • 故に、他のスクリプト言語用の動作環境(エンジン)をインストールすることにより、
    Perl などでも処理を行える。
  • COM を通じて強力な機能を利用できるため、非常に高度で煩雑な処理を
    記述できるようになった。

標準言語

実行ファイル

用途 実行ファイル 内容
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 への移行を計画しておく必要がある。

参考


Tags: 移行, シェル, インフラストラクチャ, Windows

⚠️ **GitHub.com Fallback** ⚠️