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 回答