PowerShell Do While循环脚本输出异常:进程计数未更新求助
问题排查与解决方案
兄弟,我一眼就瞅出你脚本里的问题啦!
你把获取PowerShell进程和计数的代码放在了Do...Until循环的外面,这就导致这两行代码只在脚本启动时执行一次:
$process = Get-Process powershell*
$count = $process.count
之后循环里每次输出的都是最开始拿到的那个固定数值,哪怕你关闭了PowerShell会话,脚本也不会重新去查询最新的活跃进程数,自然就一直显示最初的5个啦!
修改后的正确脚本
把获取进程和计数的逻辑移到循环内部,这样每一次循环都会重新获取最新的进程状态:
Do { $process = Get-Process powershell* $count = $process.count $count Start-Sleep -Seconds 5 } until ($count -eq 1)
另外提个小细节:sleep其实是Start-Sleep的别名,在脚本里使用全名Start-Sleep会更规范,避免歧义~
内容的提问来源于stack exchange,提问作者Javed Mohammed
相关产品推荐
相关产品推荐

