Powershell делает пока вывод скрипта цикла неожиданным - PullRequest
0 голосов
/ 26 апреля 2018

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

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

Вывод:

enter image description here

1 Ответ

0 голосов
/ 26 апреля 2018

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

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

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

...