使用命令列指令管理 Windows 服務

使用命令列指令管理 Windows 服務

許多系統管理員和 IT 專業人員一直在尋求直接從命令列執行系統任務的有效方法,尤其是在 Windows 環境中。 Windows 服務在維持系統和應用程式的無縫運作方面發揮關鍵作用。與依賴服務管理器等圖形介面相比,透過命令列管理 Windows 服務可以提供更大的靈活性和速度。本指南深入探討了各種命令列工具,以便直接從終端機管理 Windows 服務。

1.使用下列工具管理 Windows 服務sc.exe

命令列實用程式sc.exe是一個非常有價值的工具,它使用戶能夠管理 Windows 服務。透過此實用程序,您可以透過命令列無縫配置、監控和控制服務,而無需使用圖形服務管理員。

使用檢查服務狀態sc

若要檢查特定服務的狀態,請使用sc query serviceName命令。例如:

sc query MySQL80

此命令將顯示有關 MySQL80 服務狀態的詳細資訊:

使用 sc 檢查服務狀態

如圖所示,這表示MySQL目前在機器上處於非活動狀態。

使用以下方式啟動服務sc

若要啟動特定服務,請使用以下命令:

sc start MySQL80

啟動服務後,您可以使用以下命令確認其狀態:

sc query MySQL80

啟動服務

使用以下方式停止服務sc

如果需要停止服務以回收系統資源,請執行:

sc stop MySQL80

透過執行以下命令確認此操作:

sc query MySQL80

停止服務

使用以下方式建立新服務sc

要建立一個新服務,語法是:

sc create mte binPath="C:\Users\HP\Desktop\Examples\Service.exe"start= auto

創建服務科學

使用以下方式更新現有服務sc

使用以下方法修改現有服務的設定:

sc config serviceName start= demand

更改服務計劃

刪除服務sc

若要完全刪除服務,請執行:

sc delete serviceName

刪除服務

net2.使用命令管理 Windows 服務

net命令使用戶無需圖形介面即可管理 Windows 服務。它允許有效地啟動、停止、暫停、恢復和查詢服務。

net使用命令啟動和停止服務

執行以下命令來管理服務:

net start serviceName net stop serviceName

使用 net 指令啟動或停止服務

暫停和恢復服務

對於允許的服務,您可以使用以下方式暫停和恢復操作:

net pause ServiceName net continue ServiceName

暫停和恢復服務網路命令

使用以下方式檢查服務狀態net

雖然net不直接報告服務狀態,但您可以使用:

net start | findstr "ServiceName"

使用net指令檢查服務狀態

如果服務正在運行,則命令將傳回服務名稱;沒有輸出意味著服務不活躍。

遠端服務管理

使用以下方式管理遠端電腦上的服務:

net start ServiceName /S RemotePC net stop ServiceName /S RemotePC

3.使用 PowerShell 指令管理 Windows 服務

PowerShell 透過專為服務管理設計的 cmdlet 引入了更高層級的控制。利用Get-Service、、和等指令Start-Service,使用者可以執行具有更強大功能的任務。Stop-ServiceRestart-Service

使用 Cmdlet 檢查服務狀態

若要檢查服務的狀態,請使用:

Get-Service -Name MySQL80

檢查服務狀態取得服務

使用 PowerShell 查詢服務

利用 cmdlet 根據服務狀態過濾服務。例如,列出正在運行的服務:

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

查詢特定服務

使用 PowerShell 指令管理服務

使用以下方法啟動和停止服務:

Start-Service -Name MySQL80 Stop-Service -Name MySQL80

並再次檢查狀態:

Get-Service -Name MySQL80

啟動停止服務 Powershell

使用 PowerShell 指令變更服務啟動類型

若要修改服務的啟動類型,您可以將其設定為自動、手動或停用:

Set-Service -Name ServiceName -StartupType Automatic Set-Service -Name ServiceName -StartupType Manual Set-Service -Name ServiceName -StartupType Disabled

這可以根據您的操作偏好自訂無縫管理。

使用 PowerShell 進行遠端管理

若要檢查或控制遠端電腦上的服務,請使用:

Get-Service -Name ServiceName -ComputerName RemotePC

此功能對於管理多電腦環境中的服務特別有用。

4.自動化服務管理任務

PowerShell 的腳本功能使管理員能夠自動化服務管理,最大限度地減少人工幹預。例如,您可以建立腳本,持續監視服務的狀態,並在服務發生故障時重新啟動它。

自動化腳本範例

考慮一個腳本,它檢查 MySQL80 服務是否可運行,如果不可運行則重新啟動它:

$serviceName = "MySQL80" $service = Get-Service -Name $serviceName if ($service. Status -ne "Running") { Restart-Service -Name $serviceName -Force Write-Output "$serviceName was stopped and has been restarted." } else { Write-Output "$serviceName is already running." }

在 Windows 中,運行腳本預設受到限制。因此,為了啟用執行,請執行:

Set-ExecutionPolicy RemoteSigned

啟用腳本執行

若要執行已建立的腳本,請導航至其位置並執行:

.\serviceScript.ps1

運行腳本

sc.exe透過利用、和 PowerShell等命令列工具的強大功能net,您可以完全控制 Windows 服務,而無需使用圖形服務管理員。每種方法都提供了啟動、停止和配置服務的有效手段。此外,PowerShell 的腳本功能促進了廣泛的自動化,確保關鍵服務保持運行,同時提高系統效能和可靠性。

常見問題

1.什麼是 Windows 服務?

Windows 服務是獨立於使用者會話運行的後台進程,為作業系統和應用程式提供基本功能。

2.如何知道我的 Windows 機器上正在執行哪些服務?

您可以使用PowerShell 中的sc query或等指令找出正在執行的服務。Get-Service

3.我可以使用命令列遠端管理服務嗎?

是的,您可以使用net結合/S開關的命令或透過帶有參數的 PowerShell cmdlet來管理遠端電腦上的服務-ComputerName

來源和圖片

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *