一度だけ指定した時刻にパフォーマンスモニターをし、指定時刻に停止したいことが障害発生時の原因分析で求められることがあります。
パフォーマンスモニタで新たにスケジュールを作成することも可能ですが、色々な状況があるため、できることを覚えておいて損はないかと思います。私も数回使用したことがあります。
バッチファイルの作成
まずは、バッチファイルを作成します。
前提として、既にパフォーマンスモニターにデータコレクターセットは作成されているとします。以下の2つのバッチファイルを作成します。
起動用のStart.bat
logman start [データコレクター名]
停止用のStop.bat
logman stop [データコレクター名]
作成したバッチファイル(.bat)を任意の場所に保存します。場所は実行できればどこでも構いません。この為、一度想定している動作をするかバッチファイルを実行して試しておきます。
パフォーマンスモニターで新たにログが作成(標準ではC:\PerfLogs\Admin\[データコレクタセット]配下)されれば問題ないでしょう。
また、パフォーマンスモニターの画面で実行停止させたいデータコレクターが実行されているかアイコンで確認できます。
タスクスケジューラへの登録
次にタスクスケジューラにジョブを作成します。
タスクスケジューラを起動して、[タスクの作成]を選択します。
[全般]タブで[名前]に適当な名前を入力します。
次に[ユーザがログオンしているかどうかにかかわらず実行する]をチェックします。これにより、[タスク実行時に使うユーザアカウント]がログインしていなくてもタスクが実行されます。
デフォルトは[ユーザがログオンしているときのみ実行する]になっています。
[トリガー]タブで[新規]を選択します。
[新しいトリガー]画面でタスクを実行する条件を指定します。
例は指定された日時で一度だけ実行する指定になります。
[OK]を選択します。
[操作]タブで[新規]を選択します。
[新しい操作]で操作をプログラムの開始にし、[プログラム/スクリプト]で実行するバッチファイルをフルパスで記載します。
最後に下図で[OK]を選択すると、ユーザ&パスワード認証を求められますので入力します。
ここまでの設定で、開始タスクの作成は完了です。
次に終了タスクを作成します。
終了タスクですが、パフォーマンスモニターのデータコレクタのプロパティで停止時間を指定しておけば、設定時間で停止します。
何らかの理由でパフォーマンスモニターの設定変更ができない場合を考慮するのと、開始タスクと停止タスクはセットで作成する方が望ましいので作成します。
タスクスケジューラで[タスクの作成]を選択します
[全般]タブで[名前]に適当な名前を入力します。
次に[ユーザがログオンしているかどうかにかかわらず実行する]をチェックします。これにより、[タスク実行時に使うユーザアカウント]がログインしていなくてもタスクが実行されます。
デフォルトは[ユーザがログオンしているときのみ実行する]になっています(大事なことなので、2回書いておきます)。
[トリガー]タブで[新規]を選択します。
[新しいトリガー]画面でタスクを実行する条件を指定します。
例は指定された日時で一度だけ実行する指定になります
[操作]タブで[新規]を選択します。
操作をプログラムの開始にし、[プログラム/スクリプト]で実行するバッチファイルをフルパスで記載します。
ここまでの設定で、終了タスクの作成は完了です。
最後に下図で[OK]を選択すると、ユーザ&パスワード認証を求められますので入力します。
ここまでの設定で、終了タスクの作成は完了です。
タスクスケジューラで登録状況を確認します。
問題が無いならStart、Stopタスク順に右クリックして実行させて動作するか確認すると安心です。
右クリックで[実行する]
タスク(バッチファイルが実行された)ことを確認
ご参考まで。