.NET のアセンプリのイベント処理を行う為の準備の為のテストです。関数のスコープは、現在のセッションでテストの為に表示するのに必須でした。特別な理由が無い限り運用のスクリプト内の定義はグローバルを意識して定義して処理するのがいいと思います。
# タイマー作成 $timer = New-Object Timers.Timer # タイマー間隔 $timer.Interval = 500 # タイマーのイベント処理を登録 $job = Register-ObjectEvent ` -inputObject $timer ` -eventName Elapsed ` -sourceIdentifier testEventSample ` -Action { myTimerFunction } # タイマーの処理 # 呼び出し側に表示させる為にグローバルスコープとして登録 $counter = 0 # このスクリプトのスコープ function global:myTimerFunction { # このスクリプトのスコープで参照 $script:counter++ $str = get-date -uformat %s [System.Console]::WriteLine("OK : $counter : $str") } # 規定値は false # タイマー開始 $timer.Enabled = $true <# # PowerShellのプロンプトから .ps1 を実行する場合、 # スクリプト内で完結させるにはこの部分を有効にします # 有効にしない場合は、スクリプト実行後もイベントは継 # 続して実行されます # その場合イベントを終了するには、unregister-event # を実行して下さい # タイマーの処理を表示させる為にこちら側に停止状態 # を連続的に作成 for($i=1;$i -le 20;$i++){ Start-Sleep -Milliseconds 500 } # タイマーのイベント処理を削除 unregister-event testEventSample # 関数を削除 remove-item function:myTimerFunction #> "スクリプト終了"
|
【PowerShellの最新記事】
- PowerShell のバージョンを確認して、最新の PowerShell(pwsh)を実行する方法
- PowerShell で System.Data.Odbc を使用して MySQL のデータを一覧表示( csv )
- PowerShell : COM 経由(New-Object) + MySQL Connector/ODBC でループ処理をしながら更新
- PowerShell でエクスプローラでコピーしたファイルリストを取得して、テキストのクリップボードに再度コピーしなおす
- PowerShell : ファイルを開くダイアログを使うのに System.Windows.Forms を参照する二つの方法
- PowerShell2.0 : PowerShell のコードだけで TKMP.dll を使用してメールを送信する
- PowerShell2.0 : PowerShell 内で VBのコードを記述(TKMP.dllを使用)して、exe を作成した後実行してメールを送信する
- PowerShell で PNG 画像にフォントを指定してテキストを書き込む
- PowerShell で、SQLServer2012 の SMO を使用してテーブルの create 用のスクリプトを出力する
- PowerShell より New-Object で .NET Framework を使って簡単にバイナリファイルをアップロードする
- PowerShell より COM オブジェクトを使用して、簡単にバイナリファイルをアップロードする
- PowerShell2.0 : here-string と呼ばれるヒアドキュメント( here-string )の構文
- PowerShell2.0 : 初めての PowerShell / ファイルのダウンロード (.NET Framework の利用)
- PowerShell2.0 : ファイルを開くダイアログを使う
- PowerShell(スクリプト)の引数を格納する配列変数 $args の扱い
- PowerShell2.0 : Shell.Application でディレクトリ内のファイルとディレクトリの個数( .NET の文字列フォーマット )
- PowerShell2.0 : PowerShell ISE で Excel のオブジェクトを利用して完全に終了(メモリから解放)させるには
- PowerShell2.0 : 全ての日本語ヘルプファイル(テキスト)を作成するスクリプト
- PowerShell2.0 : プロンプトの変更
- PowerShell2.0 : .NET Framework のスタティックメソッドの実行