Powershell 做 while 循环脚本输出意外

Powershell do while loop script output unexpected

每 5 秒尝试获取 powershell(示例)的活动进程。 运行 下面的脚本。我杀死了 2 个 powershell 会话,每 5 秒 运行 的脚本不会将活动会话更新为 3,而是显示为 5 个会话。请帮助我哪里出错了

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

输出:

您只需将前两个语句放在 do 块中。

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

这样你每次循环时都会重新计算 $count,否则值永远不会像你观察到的那样改变。