0

PowerShell の非同期イベントからコンソールに書き込みたいです。

$timer = New-Object Timers.Timer
$timer.Interval = 2000     
$timer.AutoReset = $false  
$timer.Enabled = $true

Register-ObjectEvent -InputObject $timer -EventName Elapsed -SourceIdentifier c4n4 -Action {Write-Host test}

これは明らかに機能します。しかし、関数内に Write-Host アクションをカプセル化した場合。それはもうありません。

function myFunc{
  Write-Host test
}

$timer = New-Object Timers.Timer
$timer.Interval = 2000     
$timer.AutoReset = $false  
$timer.Enabled = $true

Register-ObjectEvent -InputObject $timer -EventName Elapsed -SourceIdentifier c4n4  -Action {myFunc}

だから基本的に私の質問はです。関数内のイベントからコンソールに書き込むにはどうすればよいですか?

4

1 に答える 1

0

グローバル スコープで関数を宣言する必要があります。

function global:myFunc{
  Write-Host test
}
于 2012-12-03T07:11:03.923 に答える