来自异步事件的Write-Host

时间:2012-12-03 07:03:52

标签: powershell powershell-v2.0

我想从powershell中的asynchronus事件写入控制台。

$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}

基本上我的问题是。如何从函数中的事件写入控制台?

1 个答案:

答案 0 :(得分:0)

您需要在全局范围内声明该函数:

function global:myFunc{
  Write-Host test
}