第3回 進化したPowerShell 2.0

Timerオブジェクトのイベントの捕捉PowerShell 2.0では新たに追加されたイベンティング用のコマンドレットRegister-ObjectEventを用いると、Timerオブジェクトのイベントの捕捉が可能になっている。  (1)Timerオブジェクトのインスタンス化。  (2)イベント発生間隔であるIntervalプロパティを2000ミリ秒(2秒)に設定する。  (3)Register-ObjectEventコマンドレットを用いてオブジェクトのイベントをサブスクライブする。   -InputObjectパラメータ:イベントをサブスクライブするオブジェクトを指定する。   -EventNameパラメータ:捕捉するイベント名を指定する。ここでは指定時間が経過したときに発生する「Elapsed」を指定している。   -SourceIdentifilerパラメータ:このイベント・サブスクリプションの名前(任意のものを指定可能。これはイベント監視バックグラウンド・ジョブ名となる)。   -Actionパラメータ:イベントが発生したときに実行するスクリプト・ブロックを指定する。ここではシステム・ビープを鳴らすスクリプトを指定している。  (4)Timerオブジェクトを有効化する。これを実行すると、2秒おきにビープ音が鳴るようになる。  (5)Unregister-Eventコマンドレットを用い、サブスクリプションを解除する。以降、イベントを捕捉しなくなる(ビープ音が止まる)。

Timerオブジェクトのイベントの捕捉PowerShell 2.0では新たに追加されたイベンティング用のコマンドレットRegister-ObjectEventを用いると、Timerオブジェクトのイベントの捕捉が可能になっている。  (1)Timerオブジェクトのインスタンス化。  (2)イベント発生間隔であるIntervalプロパティを2000ミリ秒(2秒)に設定する。  (3)Register-ObjectEventコマンドレットを用いてオブジェクトのイベントをサブスクライブする。   -InputObjectパラメータ:イベントをサブスクライブするオブジェクトを指定する。   -EventNameパラメータ:捕捉するイベント名を指定する。ここでは指定時間が経過したときに発生する「Elapsed」を指定している。   -SourceIdentifilerパラメータ:このイベント・サブスクリプションの名前(任意のものを指定可能。これはイベント監視バックグラウンド・ジョブ名となる)。   -Actionパラメータ:イベントが発生したときに実行するスクリプト・ブロックを指定する。ここではシステム・ビープを鳴らすスクリプトを指定している。  (4)Timerオブジェクトを有効化する。これを実行すると、2秒おきにビープ音が鳴るようになる。  (5)Unregister-Eventコマンドレットを用い、サブスクリプションを解除する。以降、イベントを捕捉しなくなる(ビープ音が止まる)。