TaskTvRock ver.1.22 リリース
« TaskTvRock ver.1.21 リリース | トップページ | Windows 10 Annivesary Updateにしてみた »
コメント
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/532562/63913952
この記事へのトラックバック一覧です: TaskTvRock ver.1.22 リリース:
« TaskTvRock ver.1.21 リリース | トップページ | Windows 10 Annivesary Updateにしてみた »
ありがとうございました。うまくいきました。
TaskTvRock ver.1.22 に差し替えて手動実行したところ何も変わらなかったため、
tvrock(0)等を全て削除しtvrockdailyを手動実行したところ1.2.3ともうまく設定されてました。
予約を1件追加しtvrockdailyを手動実行したところ差分も追加されました。
投稿: えいちゃん | 2016年7月14日 (木) 20時25分
役に立てて良かったです。
投稿: アブラム | 2016年7月14日 (木) 21時05分
TvRock(01)TvRock(02)が実行されませんでした。
タスク スケジュールの前回の実行結果が「オペレーターまたは管理者が要求を拒否しました(0x800710E0)」
となっています。どう対処すべきでしょうか?
投稿: えいちゃん | 2016年7月17日 (日) 23時51分
こちらの環境では、すいませんが、状況が再現できないため原因がすぐにはわかりません。
ネット上での情報がいくつかあるようですが、決定的な情報は見つけられていません。
TvRock(01) タスクに全般タブにある「タスクの続行時の使うユーザアカウント」は、ログインしているアカウント同じでしょうか。また、管理者権限のあるアカウントでしょうか。
条件タブにある「コンピューターをAC電源で使用している場合にのみタスク開始する」のチェックを外すとうまく行ったという情報もあるようです。
試行錯誤してみますが、期待通りとならないかもしれません。
投稿: アブラム | 2016年7月18日 (月) 08時56分
いろいろありがとうございます。
TvRock(01) タスクに全般タブにある「タスクの続行時の使うユーザアカウント」は、
ログインしているアカウント同じで、管理者権限のあるアカウントです。
条件タブにある「コンピューターをAC電源で使用している場合にのみタスク開始する」の
チェックを外しても.\tasktvrock.ps1で更新するとそれは外れるため
予約更新後に.\tasktvrock.ps1を手動で実施し条件タブを個別更新する:tvrockdaylyは使わない。
ことになるので、それは最後の手段として考えたいと思います。
.\tasktvrock.ps1をpowershell管理者権限で実行しなおしてみて
タスクスケジューラーに、タスク名”tvrockdaylytest”が登録されました。
(前回コマンドを間違えた、後ろに.\tasktvrock.ps1:と:を最後につけていたのかも。)
(tasktvrock初期設定.batやtasktvrcok手動登録.batは、うまくいきませんでした。)
16:30からの番組を予約して約3時間前にスリープにして確認しました。
<タスクスケジューラ>
前回の実行時刻2016/07/18 16:27:00
前回の実行結果:「この操作は正しく終了しました。(0x0)」
と表示されましたが、tvrock.exeでスリープ解除が先に走ていたので、
tvrock.exeでスリープ解除がうまくいかない場合があるまで、うまくいくかは確認できないようです。
タスクでスリープ解除した場合(前バージョンで実施した無効化予約のスリープ解除が残って解除されたもの)は予約時刻の25秒程度前に
イベントビューアー>windowsログ>システム>Power-Troubleshooterで
スリープ状態の解除元: タイマー - Windows は、スリープ状態の解除を要求したスケジュールされたタスク 'NT TASK\tvrock(08)' を実行します。
が表示されていましたが
今回は
2016/07/18 16:26:05
スリープ状態の解除元: タイマー - tvrock.exe
でしたので、tvrock.exeでスリープ解除されてました。
tvrock.exeのスリープ解除時刻が前のため、タスクでのスリープ解除をあと1~2分前に設定できれば
毎回、確実にタスクでスリープ解除がうまくいくか確認できるかと思います。
投稿: えいちゃん | 2016年7月18日 (月) 17時53分
情報ありがとうございます。
こちらでも スリープ状態の解除元: タイマー tvrock.exe となっております。復帰タスクでtvrockをコールしているのでそのようなログになっているかと思っていました。
そこで、タスクでのスリープ解除時間を可変にする方法ですが、tasktvrock.ps1の
14行目のところでレジストリから設定されているスリープ復帰時間を読み込んでいます。
$TvrockWakeup = (Get-ItemProperty -path "HKCU:\Software\TvRock").WAKEUP
ここで $TvrockWakeup に、番組録画時間からどれだけ早くスリープから復帰するのかを秒単位の整数で指定します。レジストリから読み込まれる可能性のある値は仕様上、180、240、300の三種類となります。
そこで、自由な値としたい場合は、$TvrockWakeup に任意の整数値を代入します。
例 14行目の先頭にシャープを挿入しコメント行とし、15行に変数に任意の秒数を指定する行を挿入する。
#$TvrockWakeup = (Get-ItemProperty -path "HKCU:\Software\TvRock").WAKEUP
$TvrockWakeup = 420 #例として録画の7分前にタスクを起動
となります。
投稿: アブラム | 2016年7月18日 (月) 18時42分
ありがとうございます。
録画の7分前にタスクを起動する設定をして、スケジュール登録できました。
20分前に予約した番組で、予約の7分24秒前にスリープ解除に成功しました。
イベントビューアー>windowsログ>システム>Power-Troubleshooter
スリープ状態の解除元: タイマー - Windows は、スリープ状態の解除を要求したスケジュールされたタスク 'NT TASK\tvrock(01)' を実行します。
しばらくこの状態で様子を見てスリープ解除で問題がでたらご相談します。
とりいそぎ土曜まで毎日予約をPC2台に入れておきました。
投稿: えいちゃん | 2016年7月18日 (月) 19時31分
お役に立って良かったです。
投稿: アブラム | 2016年7月18日 (月) 19時43分
一週間スケジューラでスリープ解除がうまくいき、毎日録画は成功していました。
録画の成功率が上がったようでうれしいです。
ですが、本日朝4:18のタスクの実行に失敗して、いまスリープを解除してタスクスケジューラのtvrock(01)で以下エラーを出力していました。
タスク スケジューラは、スケジュールに間に合わなかったため、タスク "\tvrock(01)" を起動しませんでした。スケジュールに間に合わなかった場合は可能なときにタスクを起動するという構成オプションの使用を検討してください。
tvrock(01)タスクの設定の「スケジュールされた時刻にタスクを開始できなかった場合、すぐにタスクを実行する。」のチェックをつけるように毎回タスク更新できると、さらにスリープ解除の成功率が上がるように思いますが、そのようなことは可能でしょうか?
投稿: えいちゃん | 2016年7月26日 (火) 18時16分
可能です。
どのように設定するかのヒントとして、タスクスケジューラからタスクを出力してみるとxmlファイルができます。設定なので、<Settings></Settings>の中に記載されています。設定していないものは、省略されている場合もあるので、設定をいろいろ変えてxmlファイルを出力して比較してみるといいと思います。
そこで、今回の「スケジュールされた時刻にタスクを開始できなかった場合、すぐにタスクを実行する」の部分ですが
<StartWhenAvailable>false</StartWhenAvailable>
この行が、"false"か"true"に変わることがわかりますので、このパラメータを設定します。
tasktvrock.ps1の82行めに
81 $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -WakeToRun
82 #$Settings.DeleteExpiredTaskAfter = "PT0S"
83 $Description = $Station + $Title
があり、これが設定の変更の書式になります。次の行に今回の設定するパラメータを追加します。
81 $Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -WakeToRun
82 #$Settings.DeleteExpiredTaskAfter = "PT0S"
83 $Settings.StartWhenAvailable = "true" #失敗したらすぐ再実行
84 $Description = $Station + $Title
これで、作成されるタスクは、「スケジュールされた時刻にタスクを開始できなかった場合、すぐにタスクを実行する」のチェックボックスがオンになります。
投稿: アブラム | 2016年7月26日 (火) 20時45分