使用 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