HTA で作成したアプリを Power Shellで実装する(VBS、WSH廃止対応)

VBScript、Windows Script Host (WSH) は無料でWindows標準で動作するスクリプトなので、長年愛用していたスクリプト言語。

過去のブログでも幾つも記事が見つかる。

しかし Microsoftは、2024年5月22日に公開されたMicrosoftの公式ブログおよびドキュメントで VBScriptおよびその実行環境であるWindows Script Host (WSH)の廃止を段階的に進める計画を発表してしまった。

 

色々と変わりすぎ……。

デジタル世界の制作物は短命。自分が死んだら100年後に動作しているサービスは無さそうだね。

木簡で残すか……。

一応、公式文章によると廃止に対してフェーズ1~3まで用意してあるらしい。

 

フェーズ1(2024年後半)

Windows 11 バージョン24H2以降、VBScriptはオンデマンド機能(FOD)として提供され、デフォルトで有効かつプリインストールさる。この段階では、既存のVBScript依存アプリケーションは影響を受けない。

フェーズ2(2027年頃)

VBScript FODがデフォルトで無効化される。VBScriptを使用する場合は、ユーザーが手動で「設定」→「システム」→「オプション機能」から有効化する必要がある。この時点で依存関係の移行が推奨される。

フェーズ3(時期未定)

VBScriptはWindowsから完全に削除され、関連するすべてのダイナミックリンクライブラリ(.dllファイル)が削除される。VBScript依存のアプリケーションやスクリプトは動作しなくなる。

 

 

因みに、HTML Application (HTA) はどうなるのだろう?

会社や研究室でサイト閲覧を誤魔化すWindowsアプリ(HTA)作成
トランプ前大統領、銃撃されるもガッツポーズで無事をアピール。これで米大統領選挙はトランプ当選がほぼ確実。そうなると米国株には大きくポジティブ……と思いたいけど、為替の動きも激しくて夜しか寝れない。...

JScript(MicrosoftのJavaScript実装)もWSHでサポートされているので、JScriptの将来性についても非推奨化リスクが存在する可能性があるよね。

コード量も小さく良い題材なので、このティッカーをベースに置き換え方法を検討してみる。

代替手段は何になるのか?

Grok AIに聞いたら次の回答を得た。

代替手段 特徴 推奨シナリオ
PowerShell Windowsに標準搭載
高機能で柔軟なスクリプト作成が可能
セキュリティ強化
Windows環境でのタスク自動化
サーバー管理
グループポリシーやスケジュールタスク
JavaScript (Node.js) クロスプラットフォーム対応
豊富なライブラリとコミュニティ
高速
Classic ASPからの移行
モダンなWebアプリケーション開発
JavaScript 主要ブラウザ全てで動作
標準化(ECMAScript)
豊富なフレームワーク
Internet Explorer依存のVBScriptを置き換えるWebページの動的処理
Python 簡単な文法
豊富なライブラリ
Windowsに標準搭載されていない
クロスプラットフォームのスクリプト
データ処理やAI関連タスク
Visual Basic for Applications
(VBA)
Microsoft Officeで引き続きサポート
VBScriptと類似の文法
OfficeマクロからのVBScript呼び出しの代替
短期的移行策

この中でもオススメは「PowerShell」。

Windows環境でのシステム管理に最適で、VBScriptの後継としてMicrosoftが強く推奨しているそうだ。

推奨の PowerShellでティッカーアプリを実装する

PowerShellは、Microsoftが開発した拡張可能なコマンドラインシェルとスクリプト言語。

Windowsのシステム管理やタスク自動化を効率的に行うために設計されており、WindowsだけでなくLinuxやmacOSでも利用可能。

 

では、早速 ティッカーアプリをPowerShellに置き換えてみる……ために

 

ChatGPT-4o様より御神託ごしんたくたまわる

 

© 泡沫に神は微睡む/安田 のら/KADOKAWA

 
 

ほんとに ありがてぇ……ありがたいこった!

 

できたコードがこれ。PowerShellを扱うのが初めてなので中身がよく分かってない。

確かに実現できた。

おわりに

LLMに実装されたので簡単に実現できた。

細かい機能追加は徐々にやっていきたいが、最近はアイデアを形にするより既存サービスの延命ばかりしている気がする。

 

Windows 標準だから……と思ってVBScriptは使ってたんだけどな……結構大きなライブラリ作っちゃってるよ。

そう考えると PowerShell もいつまで使えるか分からないね。

タイトルとURLをコピーしました