通常のユーザー権限で実行する vbs スクリプトをスケジュールしようとしています。ユーザーとしてログインするとスクリプトは正常に実行されますが、タスクスケジューラから「ユーザーがログオンしているかどうかに関係なく実行する」としてスクリプトを実行しようとすると、次の行でスタックします。
Set IE = CreateObject("InternetExplorer.Application")
「最上位の権限で実行する」にチェックを入れて、チェックを外して実行してみました。私はタスクスケジューラからプログラムを次のように実行しています:
program/script: "c:\windows\system32\cscript.exe"
arguments: "test.vbs"
start in: c:\
完全なコードは次のとおりです。
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
set tfo = fso.createTextFile("c:\123.txt")
tfo.writeline("1")
Set IE = CreateObject("InternetExplorer.Application")
tfo.writeline("2")
tfo.close
「ユーザーがログオンしているときにのみ実行」として実行した場合の出力:
1
2
「ユーザーがログオンしているかどうかにかかわらず実行する」として実行した場合の出力:
1
さらに、管理者アカウントを使用すると、タスクは「ユーザーがログオンしているかどうかに関係なく実行する」として正しく実行されますが、解決策として管理者アカウントを使用できません。