PowerShell 是 Windows Server 中管理服务最直接可靠的方式,支持查看状态(Get-Service)、启停重启(Start/Stop/Restart-Service)、设置启动类型(Set-Service)、检查依赖(DependentServices)及故障排查(EventLog、Get-Process)。
在 windows server 中,powershell 是管理服务最直接、最可靠的方式之一。相比图形界面,它响应快、可批量操作、支持脚本自动化,特别适合服务器核心(server core)等无 gui 环境。
查看服务状态
用 Get-Service 获取服务列表和当前状态:
-
查看所有服务:运行
Get-Service -
查看指定服务(如打印后台处理程序):运行
Get-Service spooler -
只显示正在运行的服务:运行
Get-Service | Where-Object Status -eq 'Running' -
按名称模糊匹配:运行
Get-Service *dns*查找 DNS 相关服务
启动、停止和重启服务
使用 Start-Service、Stop-Service 和 Restart-Service 命令,需管理员权限:
-
启动 spooler 服务:运行
Start-Service spooler -
强制停止某服务(不等待清理):运行
Stop-Service wuauserv -Force -
重启服务(常用排错操作):运行
Restart-Service spooler -
批量重启多个服务:运行
Restart-Service -Name spooler,wuauserv,winmgmt
设置服务启动类型
控制服务开机是否自动运行,用 Set-Service:
-
设为自动启动(开机即运行):运行
Set-Service spooler -StartupType Automatic -
设为手动启动(需手动触发):运行
Set-Service spooler -StartupType Manual -
禁用服务(不可手动启动):运行
Set-Service spooler -StartupType Disabled
检查服务依赖与故障原因
某些服务无法启动,常因依赖项缺失或系统资源异常:
-
查看某服务的依赖关系:运行
(Get-Service spooler).DependentServices或Get-Service spooler | Select-Object -ExpandProperty DependentServices -
查看服务失败日志线索:运行
Get-EventLog -LogName System -Source ServiceControlManager -EntryType Error -Newest 10 -
确认服务是否真正在运行(而不仅是“状态显示为运行”):结合
Get-Process检查对应进程,例如Get-Process -Name spoolsv -ErrorAction SilentlyContinue


















