Powershell делает пока вывод скрипта цикла неожиданным

Попытка получить активные процессы для powershell(пример) через каждые 5 секунд. Выполнение приведенного ниже сценария. Я убил 2 сеанса PowerShell, и скрипт, который запускается каждые 5 секунд, не обновляет активные сеансы как 3, а отображает как 5 сеансов. пожалуйста, помогите мне, где я иду не так

$process = Get-Process powershell* 
$count = $process.count 
Do {
    $count
    sleep -Seconds 5 
} until ($count -eq 1)

Выход:

1 ответ

Решение

Вам просто нужно поместить первые два утверждения в свой do блок.

do 
{
    $process = Get-Process powershell*
    $count = $process.count
    $count
    sleep -Seconds 5
} until ($count -eq 1)

таким образом вы пересчитываете $count каждый раз, когда вы выполняете цикл, иначе значение никогда не меняется, как вы заметили.

Другие вопросы по тегам