none
タスクスケジューラの挙動について RRS feed

  • 質問

  • お世話になります。

    タスクスケジューラの動作についてご教授頂けたらと思います。

     タスク:月~金9:00にスクリプトを実行。実行アカウントは「TEST」。

     スクリプト内容:自動的にブラウザを起動し、特定サイトへアクセス後ソースをダウンロードして

     ブラウザを落とす。ダウンロード先はTESTのプロファイル内にある特定フォルダ。

    上記タスクの設定で「ユーザーがログオンしているときのみ実行する」の場合は問題無く完了しますが、「ユーザーがログオンしているかどうかに関わらず実行する」の場合、タスクは実行されますが「実行中」のままとなり完了しません。

    いずれもTESTアカウントでログオンした状態で、手動でタスクを実行してます。

    なお、上記スクリプトではなくdirコマンドでテキストに出力するバッチを作成し、それをタスクで実行すると「ユーザーがログオンしているときのみ・・」でも「ユーザーがログオンしているかどうかに関わらず・・」のどちらも問題無く完了します。

    タスクの設定で「ユーザーがログオンしているかどうかに関わらず実行する」とした場合、何か制限があるのでしょうか。

    ご教授の程、宜しくお願い致します。

    2014年5月8日 1:19

すべての返信

  • 検索すると、いくつか情報が出てきますね。

    実行しようとする内容にも依存するようなので、現象が確認できる範囲で最小化したスクリプトのコードを示されると良いでしょう。


    hebikuzure

    2014年5月8日 2:27
  • nao216 さま よろしく。

    以下に、引用します。 MS TechNet ライブラリ
    対話型のソフト(ブラウザの使用)は無理ではないでしょうか。

    スケジュールされたタスクを実行するアカウントが、タスクがトリガーされた時点でログオンしていない場合でもタスクを実行するように指定することができます。そのためには、[ユーザーがログオンしているかどうかにかかわらず実行する] をクリックします。このオプションが選択されている場合、タスクは対話的に実行されません。タスクを対話的に実行させるようにするには、[ユーザーがログオンしているときのみ実行する] をクリックします。

      出典:タスクのセキュリティ コンテキスト
    • 編集済み ShiroYuki_Mot 2014年5月8日 4:47 出典の場所を追記
    2014年5月8日 4:37
  • ShiroYuki_Mot様

    ご回答ありがとうございます。教えて頂いたページを確認致しました。

    ・・・おっしゃる通りブラウザはダメそうですね。

    単純に、

     「ユーザーがログオンしているときのみ実行する」 ⇒ ログオンしているときのみに実行される

     「ユーザーがログオンしているかどうかに関わらず実行する」 ⇒ ログオンしていなくても、タスクに設定したユーザーで実行される

    の違いだけだと思っておりました。

    基本的にはログオンした状態で運用しており【念のため】に「ユーザーがログオンしているかどうかに関わらず実行する」に設定した次第です。

    「ユーザーがログオンしているときのみ実行する」に戻したいと思います。

    ありがとうございました。

    2014年5月8日 8:27
  • Hebikuzure様

    度々のご回答ありがとうございます。

    紹介して頂いたページを拝見致しました。

    Officeファイルにしても、ブラウザにしても(コミュニティの例で記載した電卓も含め)、対話型のソフト?を起動するようなことは無理なんですね。

    とりあえず今回は「ユーザーがログオンしているときのみ実行する」に戻したいと思います。

    色々勉強させて頂きました。ありがとうございました。


    2014年5月8日 8:45
  • ご回答ありがとうございます。

    仰る通りです。

    しかし、どこで止まったかが分かったとして、最終的な答えが「対話型はNG」ってとこまで辿りつくのにも時間が掛かるかと思います。

    もちろん調査する時間が有り余ってるならやりたいところではありますが。

    また、説明不足で申し訳ございませんでしたが電卓を起動するバッチを作成し試してみて、「ユーザーがログオンしているかどうかに関わらず実行する」では実行されなかった為、スクリプトの内容云々ではないと思い今回質問させて頂いた次第です。

    スクリプトの内容まで記載してしまったので、質問の趣旨が分かり辛くなってしまいましたが、タスクを実行する内容(プログラム)によりユーザーがログオンしているかどうかに関わらず実行する」がOKだったり、NGだったりしたので【何か制限事項があるのか?】ってことを質問させて頂きました。


    • 編集済み nao216 2014年5月8日 10:02
    2014年5月8日 10:00
  • こんばんは、Nasuです。

    タスク スケジュールをログオフ状態で実行する際、よくはまるケースとして「仮想デスクトップ フォルダ」が存在していないため実行できないケースがあります。

    http://nasunoblog.blogspot.jp/2013/12/powershell-excel.html

    私の場合は、PowerShellでハマりました。

    違うかもしれませんが、一度試されてはいかがでしょうか。

    2014/05/08 22:46 追記

    http://support.microsoft.com/kb/257757/jaにおいて説明されているとおり、ブログ記事の内容は推奨しない・サポートしない内容になります。


    Satoru Nasu

    Microsoft MVP Windows Server for Small and Medium Business

    Blog:元「なんでもエンジニ屋」のダメ日記

    2014年5月8日 11:35
  • Nasu さま みました。

    ご指摘は、XP までの方法で、Vista 以降 Desktop は C:\Users\UserName\Desktop に変更されています。
    Default で、C:\Windows\system32\config\systemprofile\Desktop は存在しません。
    あえてこれを作るのは推奨致しません。
    海外のサイトで、このフォルダーが存在して、かつ、不具合の原因とされるケースも見ています。

    因みに、仮想デスクトップ フォルダ という言葉は、ライブラリ や desktops (Sysinternals) と混乱しますので、表現を変えたほうが宜しいかと。

    • 編集済み ShiroYuki_Mot 2014年5月8日 13:24 因みに 以下追加。
    2014年5月8日 13:11
  • ShiroYuki_Mot さん、こちらでも確認しました。

    http://support.microsoft.com/kb/257757/ja

    確かに「推奨しない・サポートしない」の内容と明記されていますね。ご指摘ありがとうございます。

    先ほどのポストに後程追記しておきます。

    次に、「仮想デスクトップフォルダ」の件は、実際に起きたエラー メッセージにあった言葉だったはずです(かすかな記憶ですが)


    Satoru Nasu

    Microsoft MVP Windows Server for Small and Medium Business

    Blog:元「なんでもエンジニ屋」のダメ日記

    2014年5月8日 13:45