Quantcast
Channel: Windows PowerShell forum
Viewing all articles
Browse latest Browse all 21975

Timer Triggered continue in a foreach loop

$
0
0

Hello all,

before digging into the script, maybe someone sees something I missed...

$range = 1..100 
ForEach ($_ in $range){
    if ($_ % 7 -ne 0 ) { continue; }
    $timer = New-Object System.Timers.Timer
    Register-ObjectEvent -InputObject $timer -EventName Elapsed -Action { continue; }
    $timer.Interval = 1000
    $timer.Autoreset = $false
    $timer.Enabled = $true
    Start-Sleep -s 10
    Write-Host "$($_) is a multiple of 7"
}

What I am trying to do is skip one step in a foreach loop (basically when a WMI Query does not finish, though that's not in the example code). So in general, using continue works fine (if mod 7 != 0 will skip the step of the foreach loop), using continue with the timer wont work. if I replace the continue; in the action with eg Write-Host 'Event Fired';, I can see that the Timer as such does work and does fire the event.

Curious, should it work or have I missed the obvious?

Thanks

Florian


Viewing all articles
Browse latest Browse all 21975

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>