タスクスケジューラでVBSが実行されない時の対処【初心者・備忘録】

 

わたし

こんにちは。ギリ健限界会社員のモモ山です。
自分のマルチタスク能力や手の速さに限界を感じ、日々業務自動化に励んでいます。

 

WindowsのタスクスケジューラでVBScriptを定期自動実行させたのですが、その設定にとても苦戦しました。
検索で出てくる設定方法・対処法を色々試しましたが、目的のVBScriptがなかなか実行されず。
それなのに、
・タスクスケジューラ上では「この操作は正しく終了しました」と履歴に残っている
・VBScriptは手動では問題なく実行される
といった状況で、初心者故、大分沼にハマりました。

しかし最終的にこれで動いたという方法を発見したので備忘録として記録します。

環境:Windows11

 

【結論1】やっぱりパスの正しい指定は大事

「タスクスケジューラでVBScriptが実行できない」と調べると、
解決策として示されているものの多くは、スクリプトファイルのパスを正しく指定する必要があるという主旨でした。

また、wscript.exe(VBScriptを実行させるためのファイル)のフルパスをメインに設定し、
実行させたいVBScriptのフルパスはダブルクォーテーションで囲んで引数として設定するパターンが特に有効なようです。

しかし自分の場合、これだけでは実行されず…

履歴を見るとなぜかwscript.exeではない別のものが実行されている???

 

【PR】社内に聞ける人がいない・スクールに通うほどでもないなら、単発でプロに聞いてみるのもおすすめ!

↓IT系のお悩み相談からエンジニアへの制作依頼までできる、スキルのオンラインマーケット

↓オンラインレッスンに特化。気になるIT講座をお気軽に、単発でも受講できます。

 

 

【結論2】正しく指定してもダメだった場合、もう一手必要

この現象を解決するためにはVBScriptファイル側にも設定が必要でした。

VBScriptファイルを右クリック>プログラムから開く>別のプログラムから開くを選択し、
.vbsファイルを何のアプリで開くかを選択します。
デフォルトでは「microsoft console based script host」が選択されていましたが、
タスクスケジューラ側の設定と合わせて、こちらも「C:\Windows\System32\wscript.exe」を指定し設定してみました。
※選択ダイアログ下部の「PCでアプリを選択する」から可能

 

 

 

 

 

 

この設定の結果、無事タスクスケジューラでVBScriptを実行させることが出来ました。

 

【PR】自動化がどうしても上手くいかない・・・いっそのことマンパワーを調達する?

余談

検索では「wscript.exeのフルパスをメインに設定し、実行させたいVBScriptのフルパスはダブルクォーテーションで囲んで引数として設定する」以降の情報がなかなか見つからず、
それだけで解決しなかったので盛大に沼にハマりました。
(ほかの方向性の解決策もたくさんあったし…しかしいずれも上手くいかず…)
もしかしたら当たり前過ぎて書いてなかったのかもしれません。

 

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