Хотя, может быть, не совсем таймер как таковой, я делал подобные вещи, просто используя цикл:
while ($true) {
"Hello"
[System.Threading.Thread]::Sleep(1000)
}
Возможно, вы захотите дополнительно изменить скрипт, чтобы он спал вычисленное количество времени:
while ($true) {
$start = [DateTime]::Now
"Hello"
$end = [DateTime]::Now
#computer difference from initial five minute marker (5*60*1000=300000)
$wait = (5*60*1000) - ($end - $start).TotalSeconds
if ($wait -gt 0) { [System.Threading.Thread]::Sleep($wait) }
}