如何利用PowerShell脚本定期监控Windows服务的运行状态

阿辰姑娘_9835

阿辰姑娘_9835

2026-05-13

776人浏览

原创

可用PowerShell脚本结合Windows任务计划程序实现关键服务自动巡检与异常告警:定期查询服务状态,筛选非Running服务并记录日志;对可安全重启的服务自动执行Start-Service恢复;通过任务计划定时运行脚本;支持邮件、Webhook或事件日志告警。

可以用powershell脚本结合windows任务计划程序,实现对关键服务的自动巡检和异常告警。核心是定期查询服务状态、识别异常(如stopped、pause pending)、并按需通知或自动恢复。

编写基础监控脚本

以下脚本检查指定服务列表,记录状态并输出异常项:

  • 使用 Get-Service 获取服务对象,通过 Status 属性判断运行状态
  • 支持批量检查多个服务(如 'Spooler','WinRM','Dhcp'),避免逐个写命令
  • 用 Where-Object 筛选非 Running 的服务,并输出时间戳、服务名和当前状态
  • 可将结果追加到日志文件(如 Out-File -Append),便于追溯

示例片段:

Get-Service -Name 'Spooler','WinRM' | Where-Object {$_.Status -ne 'Running'} | Select-Object Name,Status,@{n='Time';e={Get-Date}} | Export-Csv -Path "C:\Logs\ServiceAlert.csv" -Append -NoTypeInformation

添加自动恢复逻辑

对已知可安全重启的服务,脚本可在检测到异常后尝试自动启动:

windows-auto
windows-auto

Windows 桌面自动化技能,支持鼠标控制(移动/点击/拖拽/滚轮/截图)、键盘输入(文字输入/按键/组合键)、窗口管理(查找/聚焦/最大化/最小化/关闭/移动)、截图并发送文件。提供两种截图方式:Python pyautogui 截图(集成在自动化流程中)和 PowerShell + .NET 零依赖截图(支持区域截图和多显示器)。当用户需要自动化 Windows 桌面操作、控制鼠标键盘、管理窗口、执行 GUI 自动化任务、截图发送文件时使用。

下载
  • 用 Start-Service 启动服务,配合 -ErrorAction SilentlyContinue 避免报错中断
  • 启动后再次检查状态,确认是否成功;失败则记录到告警日志
  • 建议对关键系统服务(如 EventLog)启用恢复,但谨慎对待依赖复杂或需手动干预的服务(如某些数据库服务)

配置定时任务触发

使用 Task Scheduler 实现周期执行,比轮询更稳定高效:

  • 新建基本任务,触发器设为“每天”或“每15分钟”,根据业务重要性调整频率
  • 操作设置为“启动程序”,程序填 powershell.exe,参数填 -File "C:\Scripts\Check-Services.ps1"
  • 务必勾选“不管用户是否登录都要运行”,并配置“只在本地运行”以避免凭据问题
  • 建议以 SYSTEM 或具有服务管理权限的账户运行,确保有足够权限启停服务

集成简单告警机制

发现异常时及时通知运维人员,避免仅靠查日志被动响应:

  • 脚本中加入 Send-MailMessage 发送邮件(需提前配置SMTP服务器)
  • 或调用企业微信/钉钉 Webhook 接口推送消息(用 Invoke-RestMethod 提交JSON)
  • 也可写入 Windows 事件日志(Write-EventLog),方便与集中监控平台对接
  • 告警内容应包含服务名、状态、发生时间及脚本尝试的修复动作(如“已执行 Start-Service”)

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

960

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3252

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1056

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

949

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

494

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2976

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5592

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

867

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习