使用 PowerShell 获取 Windows 服务的启动类型

Rohan Timalsina 2023年1月30日
  1. 使用 Get-WmiObject Cmdlet 在 PowerShell 中获取 Windows 服务的启动类型
  2. 使用 Get-Service Cmdlet 在 PowerShell 中获取 Windows 服务的启动类型
使用 PowerShell 获取 Windows 服务的启动类型

Windows 服务,也称为 NT 服务,是 Windows 操作系统的主要组件之一,它能够创建可自动运行的长时间运行的可执行应用程序。这些服务可用于构建可按预定义时间间隔自动执行的应用程序。

Windows 提供各种服务,可以通过 PowerShell 了解它们的启动类型和状态。你可以使用 PowerShell 列出计算机上每个 Windows 服务的启动类型。

本教程将介绍使用 PowerShell 查找 Windows 服务的启动类型的不同方法。

使用 Get-WmiObject Cmdlet 在 PowerShell 中获取 Windows 服务的启动类型

启动类型是指系统启动时操作系统执行的服务。例如,如果启动类型设置为默认自动,则服务会在系统启动时自动启动。

以下示例使用 Get-WMIObject 获取 Windows 服务的启动类型。在这里,我们试图显示 winmgmt 的启动模式。

Get-WmiObject -Query "Select StartMode From Win32_Service Where Name='winmgmt'"

输出:

__GENUS          : 2
__CLASS          : Win32_Service
__SUPERCLASS     :
__DYNASTY        :
__RELPATH        :
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
StartMode        : Auto
PSComputerName   :

上面的输出显示 winmgmt 的启动模式是 Auto,这意味着它是自动启动的。

下面是另一个在本地计算机上查看启动类型的示例。它使用 ClassPropertyFilter 参数来选择 winmgmt 服务的启动模式。

输出将与前一个类似。

Get-WmiObject -Class Win32_Service -Property StartMode -Filter "Name='winmgmt'"

输出:

__GENUS          : 2
__CLASS          : Win32_Service
__SUPERCLASS     :
__DYNASTY        :
__RELPATH        :
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
StartMode        : Auto
PSComputerName   :

使用 Get-Service Cmdlet 在 PowerShell 中获取 Windows 服务的启动类型

Get-Service cmdlet 是在 PowerShell 中显示 Windows 服务启动类型的另一种方式。使用此 cmdlet,你可以显示计算机上每个可用服务的 StartType

以下命令显示所有服务的启动类型。

Get-Service | select -Property Name, StartType

输出:

AarSvc_d19dd87                                            Manual
AJRouter                                                  Manual
ALG                                                       Manual
AppIDSvc                                                  Manual
Appinfo                                                   Manual
BITS                                                      Manual
BluetoothUserService_d19dd87                              Manual
Bonjour Service                                        Automatic
Winmgmt                                                Automatic

启动类型可以是自动或手动,具体取决于你的系统。

你还可以使用 Get-Service 查找特定服务的启动类型。你必须指定服务的名称。

以下命令将显示 Wecsvc 的启动类型。

Get-Service Wecsvc | select -Property Name, StartType

输出:

Name   StartType
----   ---------
Wecsvc    Manual

或者,你可以使用下面的命令来获取 Wecsvc 的启动类型。

(Get-Service Wecsvc).StartType

输出:

Manual

如果你想知道该服务是否在计算机上运行,​​你还可以选择状态属性。

Get-Service Wecsvc | select -Property Name, Status, StartType

输出:

Name    Status StartType
----    ------ ---------
Wecsvc Stopped    Manual

如你所见,Wecsvc 服务当前正在停止。

我们希望本文能帮助你了解如何使用 PowerShell 检查 Windows 服务的启动类型。

作者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

相关文章 - PowerShell Service