У меня 1809 Windows 10 с PowerShell Core 6.1.1. Приведенный ниже пример кода:
function Test() {
Write-Host "Test"
}
function Invoke-Test() {
$timer = New-Object System.Timers.Timer
$timer.AutoReset = $false
$timer.Interval = 1
Register-ObjectEvent -InputObject $timer -EventName Elapsed -Action {
Test
}
$timer.Enabled = $true
}
Если я вызываю функцию «Тест», я получаю вывод «Тест», как и ожидалось:
Но если я запланирую вызов с помощью таймера, командная строка полностью испортится:
Я смутно понимаю, что это что-то, связанное с внутренним "readline" и консольной механикой, но есть ли какой-нибудь способ произвести вывод новой строки, сопровождаемый командной строкой из таймера / дескриптора в powershell?