Part3で説明した手順でイベントをトリガーとする場合,特定のイベントIDを指定する必要があった。このPart4では,特定のイベントIDを指定せずに,エラー・イベントが記録された場合に実行されるようなタスクを設定する手順を説明する。

 今回のシナリオでは,エラー・イベントが記録された場合に,C:\LOGSフォルダにあるログ・ファイルをC:\BACKUPフォルダにコピーするというタスクを構成する。タスクが実行するスクリプトとして,図4-1に示すPowerShellスクリプト(LOGBACKUP.ps1)とVBScript(LOGBACKUP.vbs)の2種類を登録した。なお,図4-1に示したスクリプトはあくまで機能検証のため試験的に使用したものなので,特別なエラー処理などは省いていることをご了承いただきたい。

図4-1●今回検証で使用したスクリプト<br>上の画面がPowerShellのスクリプトで,下の画面がVBScriptのスクリプトになる。
図4-1●今回検証で使用したスクリプト
上の画面がPowerShellのスクリプトで,下の画面がVBScriptのスクリプトになる。
[画像のクリックで拡大表示]

Windows PowerShellのコンポーネントを有効にする

 Windows Server 2008では,Windows PowerShellのコンポーネントは標準で提供されている。だが,残念ながらインストール当初は組み込まれていない。そのため,はじめてPowerShellを使用する場合は,管理ツールにある「サーバー・マネージャー」の「機能追加」からコンポーネントをインストールする必要がある(図4-2)。

図4-2●Windows PowerShellをはじめて使うときはサーバー・マネージャから「機能の追加」を選ぶ
図4-2●Windows PowerShellをはじめて使うときはサーバー・マネージャから「機能の追加」を選ぶ
[画像のクリックで拡大表示]

 また,PowerShellコンポーネントをインストール後の初期設定の状態では,PowerShell上でのコマンド実行のみ可能で,スクリプトの実行は禁止されている。そのため,そのままで図4-1に示したようなスクリプトの実行はできない。これは主にセキュリティ上の理由からである。今回のように,あらかじめ定義したスクリプトを実行するためには,Set-ExecutionPolicyコマンドを使用してスクリプトの実行権限を変更する必要がある。こうしたPowerShellに関する詳細な説明は,マイクロソフトがWeb上で公開している情報を参考にしていただきたい(Windows PowerShell でのスクリプティングWindows PowerShell スクリプトの実行ポリシー)。