
許多系統管理員和 IT 專業人員一直在尋求直接從命令列執行系統任務的有效方法,尤其是在 Windows 環境中。 Windows 服務在維持系統和應用程式的無縫運作方面發揮關鍵作用。與依賴服務管理器等圖形介面相比,透過命令列管理 Windows 服務可以提供更大的靈活性和速度。本指南深入探討了各種命令列工具,以便直接從終端機管理 Windows 服務。
1.使用下列工具管理 Windows 服務sc.exe
命令列實用程式sc.exe
是一個非常有價值的工具,它使用戶能夠管理 Windows 服務。透過此實用程序,您可以透過命令列無縫配置、監控和控制服務,而無需使用圖形服務管理員。
使用檢查服務狀態sc
若要檢查特定服務的狀態,請使用sc query serviceName
命令。例如:
sc query MySQL80
此命令將顯示有關 MySQL80 服務狀態的詳細資訊:

如圖所示,這表示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

net
2.使用命令管理 Windows 服務
此net
命令使用戶無需圖形介面即可管理 Windows 服務。它允許有效地啟動、停止、暫停、恢復和查詢服務。
net
使用命令啟動和停止服務
執行以下命令來管理服務:
net start serviceName
net stop serviceName

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

使用以下方式檢查服務狀態net
雖然net
不直接報告服務狀態,但您可以使用:
net start | findstr "ServiceName"

如果服務正在運行,則命令將傳回服務名稱;沒有輸出意味著服務不活躍。
遠端服務管理
使用以下方式管理遠端電腦上的服務:
net start ServiceName /S RemotePC
net stop ServiceName /S RemotePC
3.使用 PowerShell 指令管理 Windows 服務
PowerShell 透過專為服務管理設計的 cmdlet 引入了更高層級的控制。利用Get-Service
、、和等指令Start-Service
,使用者可以執行具有更強大功能的任務。Stop-Service
Restart-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 指令變更服務啟動類型
若要修改服務的啟動類型,您可以將其設定為自動、手動或停用:
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
。
發佈留言 ▼