Skip to main content

1.管理服务命令

本章记录自己用到的PowerShell命令

简介

PowerShell 是一种强大的脚本语言和命令行工具,用于自动化 Windows 系统管理任务。它提供了许多功能强大的命令和模块,用于管理系统服务。

常用命令

服务类

获取服务信息

Get-Service						#列出系统中安装的所有服务
Get-Service -Name Spooler #通过指定服务的名称,获取特定服务的详细信息

通过状态来过滤服务列表,如正在运行的服务或者已停止的服务。

Get-Service | Where-Object {$_.Status -eq 'Running'}

有时候在脚本中需要检查特定的服务是否存在:

if (Get-Service -Name Spooler -ErrorAction SilentlyContinue) {
Write-Host "Spooler service exists."
}

获取服务的启动类型

Get-Service -Name Spooler | Select-Object Name, DisplayName, StartType

取服务的依赖关系信息

Get-Service -Name Spooler | Select-Object -ExpandProperty DependentServices
Get-Service -Name Spooler | Select-Object -ExpandProperty RequiredServices

查找包含特定关键词的服务

Get-Service | Where-Object { $_.DisplayName -like '*SQL*' }
  • 可以使用 Where-Object 过滤服务列表。

获取服务的更详细的状态信息,比如进程 ID、服务启动类型等。

Get-Service -Name ServiceName | Select-Object Name, Status, ServiceType, StartType, DependentServices, RequiredServices
示例:
PS C:\Windows\system32> Get-Service BTAGService

Status Name DisplayName
------ ---- -----------
Stopped BTAGService 蓝牙音频网关服务

PS C:\Windows\system32> Get-Service -Name Spooler
>>

Status Name DisplayName
------ ---- -----------
Running Spooler Print Spooler

PS C:\Windows\system32> Get-Service -Name Spooler | Select-Object Status

Status
------
Running

PS C:\Windows\system32> Get-Service -Name Spooler | Select-Object -ExpandProperty DependentServices

Status Name DisplayName
------ ---- -----------
Stopped Fax Fax


PS C:\Windows\system32> Get-Service -Name Spooler | Select-Object -ExpandProperty RequiredServices

Status Name DisplayName
------ ---- -----------
Running RPCSS Remote Procedure Call (RPC)
Running http HTTP Service

启停服务

Start-Service -Name Spooler				#启动服务
Restart-Service -Name Spooler #重新启动服务
Stop-Service -Name Spooler #停止服务

Suspend-Service -Name ServiceName #暂停服务
Resume-Service -Name ServiceName #继续服务

Set-Service -Name Spooler -StartupType Automatic #设置服务的启动类型为自启
Set-Service -Name Spooler -StartupType Disabled #禁用服务