LoginSignup
7
8

VBScriptを非推奨?どうやって?

Last updated at Posted at 2023-10-28

いい加減な発表内容

Windows クライアントの非推奨の機能 - What's new in Windows | Microsoft Learn

機能 詳細と軽減策 非推奨が発表されました
VBScript VBScript は非推奨になっています。 Windows の今後のリリースでは、VBScript がオペレーティング システムから削除される前に、オンデマンド機能として利用できるようになります。 詳細については、「 非推奨の機能のリソース」を参照してください。 2023 年 10 月

Windows クライアントの非推奨機能のリソース - What's new in Windows | Microsoft Learn

VBScript

VBScript は、今後の Windows リリースで廃止される前に 、オンデマンド機能 として利用できるようになります。 最初は、VBScript の廃止に備えて、オンデマンドの VBScript 機能がプレインストールされ、中断なく使用できるようになります。

お役所もびっくりのそっけなさ。

特徴

Windowsで唯一のバージョンを超える言語

Windows 95からWindows11まで使えるのはこのVBSしかない。

何が廃止になり、何がオンデマンドになるのか?

これはWScript.exeやCScript.exeには言及がない。この機能がオンデマンドになるのだろうか?
この内容では不明確。

Powershellは代替にならない

そもそも2008年から移行するためEd Wilsonが一生懸命だいたいコードを書いても動かなかった。
すべての良いことには必ず終わりが来る
2021年2月16日

過去 16 年間、 Hey, Scripting Guy! ブログは、Microsoft のスクリプト テクノロジに関する情報を得るためにコミュニティが集まる場所でした。 当初、このブログは VBScript と Windows バッチに焦点を当てていました。 しかし、2008 年に Ed Wilson が Greg Stemp と他の Scripting Guys から引き継いだとき、PowerShell に注力するようになりました。 このブログには 5,400 件を超える投稿 (60% は PowerShell に関するもの) があり、数千件ものコメントがあります
こんにちは、Scripting Guy! 更新 - スクリプト ブログ [アーカイブ済み]
2017年7月26日
Ed Wilson は引退しましたが、私たちは一般的な問題を解決するためのフレンドリーなチュートリアルという彼の伝統を引き継いでいます。 また、IT プロフェッショナルがコンフォートゾーンを超えてスキルセットを拡大できるよう支援します。 この例には、継続的インテグレーション/継続的デプロイ (CI/CD) ツールをコア インフラストラクチャ管理やハイブリッド クラウド運用に組み込むことが含まれます。

エドは、新しいコンテンツを提出する寄稿者を積極的に募集しました。 私たちは「Hey, Scripting Guy!」を作成することでその伝統を引き継いでいます。 コミュニティの取り組み。 クラウドのスクリプト作成という広い世界に人々を入門させるという精神で、私たちは、以下に挙げる一連のトピックなど、スクリプトの革新の新しい分野を対象とした提案を求めています。

マイクロソフトは正直、Ed Wilsonですべてが持っていた。後任を募集しても、彼の軽妙な文体は模倣できない。

Redditの記事Hey, Scripting Guy に何が起こったのですか?
のコメント

退職するのは簡単です:

If($state = "起きている"){
 Start-Process "c:\relax.exe"
 }Else{
 Stop-Process "C:\elaxe.exe"
 }

これに対するリプライがこちら

Error "relaxe.exe" not found

感謝と引退を惜しむ声。彼に代わるものはいないのに、Powershellがどうして普及することがあるだろうか。
単純にChromeに代わるだけかもしれない。

代替案が弱い上に遅い

VBScriptが非推奨になった?その理由と代替言語を解説 | アンドエンジニア

まあ後半は炎上が怖かったんだろうなと

枯れた技術を廃止するWindowsはどこへ向かうか - 阿久津良和のWindows Weekly Report

2023年現在、VBScriptをOSやWebサーバーで利用することは(限られた一部環境を除けば)皆無に近いだろう。このような背景からMicrosoftは、公式ドキュメントで非推奨を表明した。将来的な廃止に至るまではFOD(オンデマンド機能)のひとつとして提供されるため、VBScriptを使用する場合はdismコマンドでインストールしなければならない。

残念ながら、Printerの設定など、VBScriptで簡略化できる余地が大きいので活躍の余地が多い。
Powershellは毎回Setうんちゃらがいるので使い物にならない。

PowerShellは野良スクリプトがデフォルトでは動かせないようになっててセキュリティ的には良かったんだけど、そのせいでvbscriptが使われる余地になってたと思う。
gabillgabill 2023/10/16 09:06
https://b.hatena.ne.jp/entry/4743629050704332591/comment/gabill

まいなびは穴だらけだが参考になる

Microsoft、VBScriptを非推奨としてWindowsから削除へ

VBScriptは1996年に登場したスクリプト言語。Visual Basicの文法に類似させたスクリプト言語で、Webブラウザにおける実行、サーバサイドにおける実行、Windowsにおける実行などの用途に使われてきた。主にWindowsでの利用を想定した技術であり、クロスプラットフォーム性は限定的なものにとどまっている。そのため、現在はすべての領域でより人気のある代替技術が存在している。

MicrosoftはVBScriptを将来削除するリストに追加した詳しい理由を明らかにしていない。ただし、同社が削除する技術はすでに利用されるシーンが限定されていてほとんど使われていないケースや、セキュリティの問題があり利用が推奨されないケースなどが多いことから、VBScriptにおいても同様の判断があったものと推測される。

なお本稿執筆時点で、Microsoftは具体的な削除のタイムラインや対象となるプラットフォームについて発表していない。VBScriptをオンデマンド機能に切り替えたのち、ユーザーの反応を見るなどして削除するタイミングを検討するとみられる。

参考になるところもあるがツッコミどころも満載...

Windowsから削除へ

いやまだ削除じゃないし。Microsoftは具体的な削除のタイムラインや対象となるプラットフォームについて発表していない。って書いているじゃないですか。

MicrosoftはVBScriptを将来削除するリストに追加した詳しい理由を明らかにしていない。ただし、同社が削除する技術はすでに利用されるシーンが限定されていてほとんど使われていないケースや、セキュリティの問題があり利用が推奨されないケースなどが多いことから、

あのすいません。PowerAutomateで使っているのはどこのMicorosoftさんなのでしょうか。なんなのこの世界線。つまりVBSを使っているマイクロソフトとこんなもの誰も使っていないというマイクロソフトがこの世界に同時に存在していると。
あと、杉山貴章君、キミは少しは検索して書いているのか?VBSは「類似」じゃなくてサブセットだぞ。たしかにおんぼろだし動かないし、まともなエディターもないけど。でも類似品みたいなパチモンではないですよ。
VBScript への変換 - Win32 apps | Microsoft Learn

VBScript は、Microsoft Visual Basic for Applications 言語のサブセットです。
ライターならちゃんと書き給え。あやうく私が間違えたかと焦ったではないか。貴殿失当流、手をついて地面に頭をこすりつけて詫びろとまでは言わないが。
認知プロファイリングすると、おそらくこの人は一回も使ったことがないか、使っては見たけどよくわからずに放置していたのだと思う。これは普通によくある。下記のページを見ても何が何だかわからないし。
で、Java使いかな?と思ったらやっぱりjavaだった。クラウドも強いし完全にJavaの人だからVBSなんて知らんわな。阿久津さんは知っているから。ただ、代替するプラットフォームがないとか、やはりこの辺はJavaのクラウドを作っている人だなと思った。

あと、馬鹿っぽいのはコレ
MicrosoftがVBScriptを段階的に廃止へ、マルウェアの配信をブロックするため

VBScriptが廃止される理由として、すでに利用者が少なくInternet Explorerが廃止されたことが挙げられますが、セキュリティ問題に詳しいBleepingComputerは「WindowsやOfficeのさまざまな機能を悪用したマルウェアの感染拡大を緩和するための戦略の一環です」と指摘していま

BleepingComputer is nuts!
それ言い出すんだったらPowershellのほうがもっと危険だよ。というかこの世からWIndowsPCをすべて消し去ったほうが良いと思うよ。
このレベルになると、つまるところこういっているのと同じ。

これにより、デフォルトでは完全にマクロが無効化されることとなるため、「管理された組織の自宅作業者やインフォメーションワーカーを含む多くのユーザーを安全に保つことができるようになると期待されます」とMicrosoftは記しています。
なお、今回の仕様変更はWindows搭載端末上でOfficeアプリにのみ適用されます。つまり、対象アプリはAccess、Excel、PowerPoint、Visio、Wordの5つのみ。仕様変更は2022年4月初旬に最新チャネル(プレビュー)でリリース予定のバージョン2203から展開される予定。Microsoftは将来的にOffice LTSC、Office 2021、Office 2019、Office 2016、Office2013でもこの変更を適用するとしています。

あのすいません、マクロは2022年2月以前からデフォルトで無効ですが。。。
なので、セキュリティとかマルウェアとかいえばいうことを書けば黙らせられると思ったら大間違いだよ。
今はマルウェアなんて作らなくてもシステムは止まるから。作る必要すらない。むしろブラックボックス化して不便になっているので、裏でなにをやっているかが怪しいレベルなうえにDXなんて砂上の楼閣になってきている。

危険なマクロがブロックされている可能性がある
https://support.microsoft.com/ja-jp/topic/0952faa0-37e7-4316-b61d-5b5ed6024216

  VBScriptってふつうに月に1回くらいは使うので、ライターの人たちは仕事でPCを使っているのかな?
  Windowを使っていれば普通に使うと思うんですよね。ファイル名の変更とか、ファイルリストを作るとか。
  あと、データベース的なものを作っていてもそれはあるし。Power Automateも裏で動いていたりする。VBSが使われていないって考えられないのですが。どうなっているんだろう?

VBScript非推奨について具体的な対応時期はきまっていますか?

  例えば SMB 1.0 は非推奨になったのが 2014年、標準では既定で無効になったのが 2017年、現時点でも有効にして利用することはできる、というようなサイクルですね。「バックアップと復元(Windows 7)」も Windows 8 (2012 年) で非推奨になりましたが Windows 11 でもまだ搭載されていて利用できます。
  逆に Internet Explorer のように非推奨から 2年で廃止になっている機能もあります。

  • SMBv1 は、Windows 10 バージョン 1709、Windows Server バージョン 1709 以降のバージョンでは、既定でインストールされていません。 | Microsoft Learn

  これから考えて1年やそこらで使えなくなることはないでしょうが、3年先はどうだかは微妙という感じでしょうか。

  ただ VBScript は Microsoft 製品でもかなりいろいろな所に使われているので、そう簡単に廃止されることは無いと思います。

自分と同じ回答じゃん!1位ではないがもっとキレキレなのがこれ。

ウィンドウズスクリプトプログラマ
© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2023
VBSciptの話はあっても、JScriptの話がないようで、こっちはどうなんでしょう。
VBScriptをJScriptにすればよいのかなあ。

ただ、VBA内では使えないので、割と辛い。でもWindows Script programmerにはなんら影響がないだろう。 # スラド
Microsoftが「VBScript」をDeprecatedに、将来のWindowsでは削除される | スラド デベロッパー

ここでちらっと書いてあるHTAも削除されない。

  VBなんちゃらがたくさんあるからまぎらわしいけど、それぞれ別のものなので注意。
  今回のは「WindowsクライアントOSのVBScript」。
  Windows Scripting Host(WSH)上で実行されるスクリプトで、WSHの後継がPowerShell。
WSHの存在があまり知られてないから「VBScriptをDeprecatedに」って表題になるのはしかたないけど、実質的にはWSHが非推奨になり、将来的には消える予定って話だ。

  現状でもレガシィなOS操作スクリプトとしてはたぶんバッチファイルの方が使われてると思うので、困る人はいるだろうけどそんなに大きな反発にはならないと思う。

あのすいません、そんなことどこにも書いていないと思いますが。。。

HTAファイルの関連付け windows11で [JavaScript]

ならばどうしてAIを使わないの?

危険なマクロがブロックされている可能性がある
https://support.microsoft.com/ja-jp/topic/0952faa0-37e7-4316-b61d-5b5ed6024216

いや、可能性じゃなくて、今はやりのAIで危険かどうかを判定すればいいでしょう。
だって、一応コードは読み書きできるでしょ?なんでそれを使わないのでしょうか?
そうすれば機能の廃止なんていらないし、野良アプリでもAIで危険性がないか見ればいい。どうせ危険性はゼロとは言えませんとか必ず言いそうだけど。

まとめると

今回のVBSの非推奨はその気配自体はあった。
なつかしのWSHの復活と再生(No.0442)
この画像では拡張子そのものがブロックされている。
「IE11」の「VBScript」実行が初期状態で禁止へ ~「Windows 10 Fall Creators Update」2017年7月10日 10:13
Internet Explorer 11 での VBScript の実行の無効化 2017 年 4 月 12 日 - Microsoft Edge ブログ


  VBScript は Internet Explorer 11 では 非推奨となっており、IE11 モードで表示される Web ページでは実行されません。 でレンダリングされた Web サイトでは VBScript の実行が許可されています ただし、下位互換性を確保するため、現在もレガシー ドキュメント モード 。 として導入されました これは一時的な解決策 。 ドキュメント モードは Windows 10 では非推奨となり、Microsoft Edge ではまったくサポートされません。
  より安全なエクスペリエンスを提供するために、Windows 10 Creators Update と Internet Explorer の累積セキュリティ更新プログラム (2017 年 4 月 11 日) の 両方で、すべてのドキュメント モードに対して Internet Explorer での VBScript の実行をブロックするオプションが導入されました。 ユーザーは、レジストリまたは Microsoft Easy fix ソリューションを使用して、サイトのセキュリティ ゾーンごとにこの動作を構成できます。 企業のお客様は、グループ ポリシーを通じてこの動作を構成することもできます。

推奨されるアクション

  セキュリティのベスト プラクティスとして、Microsoft Internet Explorer ユーザーは、インターネット ゾーンおよび制限付きサイト ゾーンの Web サイトに対する VBScript の実行を無効にすることをお勧めします。 この動作を構成する方法の詳細については、 KB4012494 を参照してください。
  また、Web 開発者には、現在 VBScript に依存しているページを更新して JavaScript を使用することをお勧めします。
  今後の Windows リリースおよび今後の更新では、インターネット ゾーンおよび制限付きサイト ゾーンの Web サイトに対して、Internet Explorer 11 での VBScript の実行をデフォルトで無効にする予定です。 >Internet Explorer 11 での VBScript 実行の有効化、無効化、またはプロンプトの設定は、サイトのセキュリティ ゾーンごとに、レジストリまたはグループ ポリシー経由で期間限定で引き続き構成できます。
  Internet Explorer 11 での VBScript 実行のデフォルト設定の変更に先立って、今後の更新情報をここに投稿する予定です。

Internet Explorer 11 での VBScript の無効化に関する更新 - Microsoft Edge ブログ

  Windows 10 Fall Creators Update 以降、より安全なエクスペリエンスを提供するために、インターネット ゾーンおよび制限付きサイト ゾーンの Web サイトに対する IE 11 での VBScript の実行をデフォルトで無効にする予定です。 この変更は、 4 月のブログ投稿 で初めて発表されました。 新しい既定の動作は、 本日の Windows Insider Preview リリースであるビルド 16237 からプレビューできます。
  以前のバージョンの Windows を使用しているお客様については、この変更を Internet Explorer 11 の今後の累積的なセキュリティ更新プログラムに含める予定です。Internet Explorer 11 での VBScript 実行の有効化、無効化、またはプロンプトの設定は、引き続きレジストリを介してサイトのセキュリティ ゾーンごとに構成できます。
  または Windows のリリース バージョンのグループ ポリシー経由で。 Internet Explorer 11 での VBScript 実行のデフォルト設定へのこれらの変更に先立って、更新情報をここに投稿し続けます。

MicrosoftはデフォルトでVBScriptを無効にします | 解決策 - railstoolkit com


  Microsoftは2017年にInternet Explorer 11でVBScriptを無効にする計画を発表しました。 同社はこの機能を廃止しましたが、VBScriptを使用するリソースを他のテクノロジーに移行するための十分な時間を組織に与えるために、当時の特定の環境で機能を維持していました。


  20年以上前にMicrosoftによって導入されたVBScriptは、Visual Basicでモデル化されたアクティブなスクリプト言語です。

  I Love YouまたはLove Letter Virusとして知られるコンピューターワームがシステムを感染させるためにそれを使用した2000年に名声を得ました。 ユーザーは、件名のリンクILOVEYOUおよび添付LOVE-LETTER-FOR-YOU.txt.vbsを含むメールを受信します。 添付ファイルを開いたユーザーは、ワームでマシンに感染します。

  当時の問題の1つは、Windowsが添付ファイルの実際の拡張子を隠し、多くのWindowsユーザーがそれが無害なテキストファイルであると信じていたことでした。

  感染したPCは、連絡先リストを使用して電子メールを送信し、他のマシンに拡散します。 さらに、システムの起動時に自動的に起動し、コンピューターファイル内のデータを変更するようにWindowsを構成します。

  Microsoft Internet Explorerユーザーは、VBScriptを標的とする攻撃からブラウザを保護するために、Internet ZoneおよびRestricted Sizes ZoneのブラウザでVBScriptを無効にすることをお勧めします。

  管理者とユーザーは、その時点で手動でInternet ExplorerのVBScriptを無効にする必要がありました。Windows 10の2019年7月の累積的な更新プログラムは、Windows 10を実行しているマシンでVBScriptをデフォルトで無効にしました。Windows7 Service Pack 1、Windows 8、およびWindows 8.1の2019年8月の累積的な更新プログラムは、これらのマシンでも同じことを行います。

  VBScriptは、Internet Explorer 11ではデフォルトで無効になり、Internet Explorer 11を実行しているすべてのプラットフォーム上のインターネットおよび信頼できないゾーンではWebOCが無効になります。

  ただし、現時点ではVBScriptは削除されません。 マイクロソフトは、レガシテクノロジが引き続き必要な場合は、コンピューター上で有効にすることができることに注意しています。(中略)

終わりの言葉


  VBScriptの無効化は、ホームシステムおよびユーザー側での長い間延期されたステップです。 レガシースクリプトがまだ使用されている場合、組織は特定のシステムでそれを許可できます。
  さて 、VBScriptに最後に出会ったのはいつですか?

先週出会ったよ。なにか文句があるのか。
それにそんな約束していないし、した覚えはない。
  しかも、VBSはその後、添付ファイルとしてメールで送信できなくなっている。なので、へんてこなサイトのように、大騒ぎになった時点でVBSを無効化するものはいなかっただろう。

2019 年 7 月のセキュリティ更新プログラム (月例) | MSRC Blog | Microsoft Security Response Center
2019 年 7 月 10 日 — KB4507453 (OS ビルド 18362.239) - Microsoft サポート

機能追加および修正
  • Windows ワイヤレス ネットワーク、Microsoft Scripting Engine、Windows Server、Windows ストレージおよびファイルシステム、Windows カーネル、Microsoft HoloLens、Internet Explorer、Windows Input および Composition、Windows Virtualization、Windows アプリ プラットフォームおよびフレームワーク、Microsoft Graphics コンポーネント、Microsoft Edge、Windows 暗号化のセキュリティ更新プログラム。

たしかにこのような記述はある。
しかし、2019年にいったん無効化しようとしたのは確からしいのだが、当時の記事からは明確にはうかがえない。

しかし、これが本当だとすると、確かにMSは、2010年代のScriptGuyのPowershell推しから2017年のIEでのVBS外し、2019年のエラーとVBSを外す意図ははあったといえる。しかし、それは20年以上経過してもようやく非推奨程度にしかなっていない。

7
8
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8