Windows VBSスクリプトをスクリプトでバックグラウンドで実行する

Windows Server 8.1、Windows Server 2012 R2の環境で、VBSスクリプトスクリプトでバックグラウンドで実行する方法を紹介します。


例えば、実行ファイルなどをVBSスクリプトで起動するようにすると、実行したプログラムがデスクトップに表示されてしまいますが、バックグラウンドで実行する事で、実行時に何も表示されなくすることができます。


例えば、プログラムをログオンスクリプトなどで実行したいときに、その実行したプログラムをユーザーに見せたくない場合などに便利です。


ちなみに、vbsをバックグラウンドで実行する方法はネットでいくつか紹介されています。

Set sh = CreateObject("WScript.Shell")
sh.Run "<実行ファイルのパス>",0,False

Set sh = CreateObject("WScript.Shell")
sh.Run "<実行ファイルのパス>",0

Set sh = CreateObject("WScript.Shell")
sh.Run "<実行ファイルのパス>" , vbhide

 


ちなみにこちらの確認で動作確認をしたところ、ログオンスクリプトでも動作したのは以下になります。

 

Set sh = CreateObject("WScript.Shell")
sh.Run "<実行ファイルのパス>" , vbhide

 

これを任意のファイル名で保存し、「test.vbs」ドメイン環境であれば、ADのグループポリシー、ワークグループ環境であれば、ローカルポリシーのログオンスクリプトを利用することで、ログオン時にプログラムをバックグラウンドで実行する事ができます。


vbsスクリプトをログオン時にバックグラウンドで実行させたい場合は、参考にしてみてください。

 

Windows Server 2016, Windows Server 2019では動作確認をしていないので、これより新しい環境で使用する場合は、動作検証をお願いします。