使い方としては、
・Windowsの「タスク」で週末夜間にsaveを実行→shutdownコマンドで再起動
・タスクに「システム起動時」のジョブを作成し、そこでresumeを実行
ということを考えていたので、Hyper-Vの中に作ったVirtualServer2005環境で実テスト。
saveはちゃんとできて、shutdownコマンドも実行されてOS再起動。
ログインして管理用Webサイトを確認すると.....「保存済み」のまま??
タスクの実行結果を確認すると、「前回の結果」がエラー(0x0ではない)になっています。
エラー出力をテキストファイルにリダイレクトするようにしていたので、テキストファイルを確認すると、アクセス拒否エラー??
手動ではresumeもちゃんと動作したし、タスク実行ユーザもログインユーザを指定しているのに....?
またもや小一時間悩み、出た結論は「Virtual Serverサービスが起動されてないから」。
Windowsのサービス起動は基本的に「無秩序」に起動です。
UNIX/Linuxのように「シェルに記述した順番で起動」というものではありません。
サービスの依存関係で前提サービスを指定することは可能ですが、すべてのサービスに対して秩序は求めていません。
(平行で実行されるので、起動時間の短縮にはなるのですが)
ちなみに、Virtual ServerサービスとTask Schedulerサービスの依存関係は
となっています。
「Remote Procedure Call(RPC)」サービスが起動した後にVirtual ServerサービスとTask Schedulerが起動されますが、Virtual Serverサービスが起動される前にTask Schedulerサービスが起動されてしまうためにエラーになっているようです。
ちょっと長いので分割。