トップ回答者
タスクスケジューラの実行ユーザーをSYSTEMに設定してBATファイルを実行したい

質問
-
お世話になっております。
BATファイルをタスクスケジューラで実行ユーザーをSYSTEMで実行したいのですが動作しません。
解決方法をご教示ください。
実行ユーザーを、[トリガー]と同じの特定のユーザーにした場合に動作することは確認しています。
環境:Windows10 1607
[全般]
タスクの実行時に使うユーザーアカウント: SYSTEM
最上位の特権で実行する: チェック有
[トリガー]
タスクの開始: ログオン時
特定のユーザー
遅延指定: 30秒
[操作]
プログラム: C:\TEST\テスト.bat
スクリプト: C:\TEST\
-----動作確認で使用しているBATファイルの内容(テスト.BAT) -----
@echo テスト
pause
----------
タスク実行時に使うユーザーを:[トリガー]と同じの特定のユーザーとで実行していたのですが、
実行されないことがありました。
調査したところ、「スタートアップ時タスクの実行に失敗する問題について」が紹介されていので対策である
実行ユーザーをSYSTEMに設定する事を検討しています。
https://blogs.technet.microsoft.com/askcorejp/2018/09/28/task-failed-to-run-when-startup-trigger-are-set/
以上、よろしくお願いします。
回答
-
動作しないと言うのは、タスクが実行されてもコマンドプロンプトが表示されないと言う事でしょうか?
SYSTEM 権限で実行する様に設定した場合、自動的に [ユーザーがログオンしているかどうかにかかわらず実行する] となりますので、対話的に実行されません。
SYSTEM 権限でも実行されているか確認するのであれば、pause は削除した上で何処かにファイルを作成する様な動作確認BATにする事が考えられます。
ただ、実際に本番で実行したい操作が非対話的でも動作するかは検証された方が良いでしょう。
以下は参考まで。
- 回答としてマーク tokusa 2019年9月24日 4:58
すべての返信
-
動作しないと言うのは、タスクが実行されてもコマンドプロンプトが表示されないと言う事でしょうか?
SYSTEM 権限で実行する様に設定した場合、自動的に [ユーザーがログオンしているかどうかにかかわらず実行する] となりますので、対話的に実行されません。
SYSTEM 権限でも実行されているか確認するのであれば、pause は削除した上で何処かにファイルを作成する様な動作確認BATにする事が考えられます。
ただ、実際に本番で実行したい操作が非対話的でも動作するかは検証された方が良いでしょう。
以下は参考まで。
- 回答としてマーク tokusa 2019年9月24日 4:58
-
tokusaさん、こんにちは。フォーラムオペレーターのFarenaです。
TechNetフォーラムにご投稿くださいましてありがとうございます。
その後のご状況いかがでしょうか。
Lapivyさんから寄せられた投稿はお役に立ちましたか。
参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、ご協力くださいますようお願いいたします。
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com. -
ご教示ありがとうございます。
バッチファイルに、ファイルを出力する動作を組み込みましたところ、
バッチファイルは動作していることを確認できました。
ただ、バッチファイルを使用して本番環境で実行したいと考えていた、
メニュー画面を表示するプログラム、
監視画面を表示するプログラムは
実行することができていませんでした。
同一バッチ上で、ファイル出力の動作は実行されていました。
Windowsを自動ログインにしていても、SYSTEMユーザーでは、
「ユーザーがログオンしている時のみ実行する」を選択できない為
画面を表示するようなプログラムの実行はできないようです。