运行PowerShell脚本时如何显示计划任务等待提示信息
解决PowerShell等待计划任务时不显示提示的问题
你的问题出在Write-Verbose的默认行为上:这个 cmdlet 的输出默认是被抑制的,只有当启用了详细输出模式时才会显示内容。给你几个可行的解决办法:
方法1:改用Write-Host直接输出(最简单)
直接把Write-Verbose换成Write-Host,它会直接把内容输出到控制台窗口,不需要额外配置:
Start-ScheduledTask -TaskName "\FOLDER\TASK_NAME" while ((Get-ScheduledTask -TaskName 'TASK_NAME').State -ne 'Ready') { Write-Host "Waiting on scheduled task..." Start-Sleep -Seconds 1 # 加个延迟避免疯狂占用CPU }
方法2:保留Write-Verbose并开启详细输出
如果你一定要用Write-Verbose,可以通过两种方式开启详细输出:
方式A:执行脚本时加-Verbose参数
比如你的脚本叫Wait-Task.ps1,执行时用:
.\Wait-Task.ps1 -Verbose
方式B:在脚本内部强制开启详细输出
在脚本开头添加一行配置,强制让详细输出生效:
$VerbosePreference = 'Continue' Start-ScheduledTask -TaskName "\FOLDER\TASK_NAME" while ((Get-ScheduledTask -TaskName 'TASK_NAME').State -ne 'Ready') { Write-Verbose "Waiting on scheduled task..." Start-Sleep -Seconds 1 }
额外建议
记得在循环里加上Start-Sleep,不然你的PowerShell会每秒执行成百上千次状态检查,导致CPU占用飙升,加个1-5秒的延迟就很合适。
内容的提问来源于stack exchange,提问作者tj001
相关产品推荐
相关产品推荐

