ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

AD域控exchange邮箱—powershell 程序暂停sleep 继续执行的方法

AD域控exchange邮箱—powershell 程序暂停sleep 继续执行的方法

前言

Start-Sleep是 PowerShell 中最常用的等待命令,用于让 shell、脚本或运行空间的活动挂起指定时间。它既可以按秒(-s)也可以按毫秒(-m)指定时长,语法简单却用途广泛。

在实际场景中,Start-Sleep常见于以下几类需求:等待某个进程或任务结束后再继续执行、等待服务启动就绪后再发起后续调用、在循环轮询中控制检测间隔以避免空转占用 CPU,以及在调试脚本时人为放慢执行节奏、观察中间状态。

本文先给出两个最基础的暂停示例,再通过三个实战示例分别演示循环轮询检测进程退出、等待服务启动后再执行后续命令、配合-Verbose输出等待日志,最后整理语法、参数与公共参数的官方说明,帮助你在自动化脚本中稳妥地使用等待逻辑。

暂停 Windows PowerShell 10 秒: Start-Sleep -s 10
暂停脚本 10 秒(10,000 毫秒) Start-Sleep -m 10000

实战示例一:循环中每 2 秒轮询检测进程是否退出

在自动化脚本中,经常需要等待某个进程结束后再继续执行。下面的示例使用Start-Sleep -s 2每 2 秒轮询一次,直到目标进程退出为止。

# 目标进程名称(不含 .exe 后缀) $processName = "notepad" #
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进