如何解决立即执行计时器动作而不等待Timer.interval[Powershell3]
当前正在执行基于计时器的操作,在指定的计时器间隔后激活该操作。
我想要一个基于计时器的重复动作,但是当将其设置为更长的时间间隔(例如1小时)等时,必须有一种方法来测试动作块是否正确执行而不必等待整个时间间隔。
是否可以立即激活动作,而不必等到Timer.interval之后开始执行?
***Console***
17-08-2020 07:30:18 Script_Started
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 Timer.Elapsed NotStarted False Write-Host $n
17-08-2020 07:30:28 Action block executed after Interval = 10000
17-08-2020 07:30:38 Action block executed after Interval = 10000
***Script***
$Timer = New-Object System.Timers.Timer
$objectEventArgs = @{
InputObject = $Timer
EventName = 'Elapsed'
SourceIdentifier = 'Timer.Elapsed'
}
$Timer.Interval = 1000 * 10
$Timer.Autoreset = $True
$Timer.Enabled = $True
$global:n = " Action block executed after Interval = " + $Timer.Interval
Write-Host $((Get-Date).ToString() + " Script_Started")
$action = { Write-Host $(Get-Date).ToString() + $n }
Register-ObjectEvent @objectEventArgs -Action $action
#Unregister-Event -SourceIdentifier 'Timer.Elapsed'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。