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 #禁用服务