Cách quản lý Windows service thông qua dòng lệnh

Mọi người luôn tìm kiếm những cách hiệu quả để quản lý các tác vụ hệ thống mà không cần rời khỏi terminal, ngay cả khi đang sử dụng Windows. Trên Windows, các service chạy ở chế độ nền để giữ cho hệ thống và ứng dụng hoạt động trơn tru. Thay vì mở Services Manager, nhiều người thích quản lý Windows service thông qua dòng lệnh. Trong hướng dẫn hôm nay, chúng ta sẽ khám phá các phương pháp này và xem cách bạn có thể quản lý các Windows service ngay từ terminal.

1. Quản lý Windows service bằng sc.exe

sc.exe là một công cụ dòng lệnh tích hợp để quản lý các Windows service. Công cụ này cho phép bạn cấu hình, truy vấn và kiểm soát các service trực tiếp từ terminal. Với sc.exe, bạn có thể kiểm soát hoàn toàn các Windows service mà không cần Services Manager đồ họa.

Kiểm tra trạng thái service bằng sc

Chúng ta có thể sử dụng lệnh sc query serviceName để kiểm tra trạng thái của một service cụ thể. Ví dụ, chúng ta chạy lệnh sc query MySQL80 để truy xuất thông tin chi tiết về service MySQL80, bao gồm trạng thái của service đó:

Kiểm tra trạng thái service bằng sc
Kiểm tra trạng thái service bằng sc

Hiện tại, MySQL không chạy trên máy.

Bắt đầu một service với sc

Để bắt đầu một service cụ thể bằng sc.exe, chúng ta có thể sử dụng lệnh sc start ServiceName. Ví dụ, chúng ta chạy sc start MySQL80 để bắt đầu service MySQL80. Để xác minh xem service đã bắt đầu thành công hay chưa, chúng ta có thể kiểm tra trạng thái của service bằng lệnh sc query MySQL80:

Dừng một service bằng sc

Bạn có thể dừng một service để giải phóng tài nguyên hệ thống. Ví dụ, lệnh sc stop MySQL80 dừng MySQL, có thể được xác minh bằng lệnh sc query MySQL80:

Tạo một service mới bằng sc

Chúng ta có thể tạo một service mới bằng lệnh sc create. Lệnh này yêu cầu chỉ định tên service, đường dẫn thực thi và loại khởi động. Ví dụ, để tạo một service mới có tên là "mte" sẽ tự động bắt đầu khi khởi động, hãy nhập:

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

Cập nhật một service bằng sc

Chúng ta có thể sử dụng lệnh sc config để cấu hình một service hiện có. Ví dụ, để thay đổi kiểu khởi động thành thủ công, hãy chạy lệnh:

sc config serviceName start= demand

Xóa service bằng sc

Khi không còn cần đến service nữa, chúng ta có thể xóa vĩnh viễn khỏi Windows bằng lệnh:

sc delete srviceName

2. Quản lý Windows service bằng lệnh Net

Lệnh net trong Windows cho phép chúng ta quản lý các service từ dòng lệnh. Lệnh này cho phép người dùng bắt đầu, dừng, tạm dừng, tiếp tục và truy vấn các service mà không cần sử dụng Services Manager đồ họa.

Bắt đầu và dừng service bằng lệnh net

Chúng ta có thể bắt đầu hoặc dừng các Windows service bằng lệnh net start serviceNamenet stop serviceName tương ứng:

Bắt đầu hoặc dừng service bằng lệnh net
Bắt đầu hoặc dừng service bằng lệnh net

Tạm dừng và tiếp tục service bằng lệnh net

Một số Windows service hỗ trợ tạm dừng và tiếp tục thay vì dừng hoàn toàn. Trong trường hợp đó, chúng ta có thể sử dụng lệnh net pause ServiceNamenet continue ServiceName tương ứng:

Tạm dừng và tiếp tục service net
Tạm dừng và tiếp tục service net

Kiểm tra trạng thái service bằng lệnh net

Bản thân lệnh net không cung cấp cách trực tiếp để kiểm tra trạng thái của một service cụ thể, nhưng chúng ta có thể sử dụng lệnh này cùng với lệnh findstr để lọc kết quả. Ví dụ, để kiểm tra xem service đã chỉ định có đang chạy hay không, hãy nhập:

net start | findstr "ServiceName"
Kiểm tra trạng thái service bằng lệnh net
Kiểm tra trạng thái service bằng lệnh net

Nếu service đã chỉ định đang chạy, lệnh sẽ trả về tên của service đó; nếu không, sẽ không có đầu ra.

Quản lý service từ xa bằng lệnh net

Chúng ta có thể sử dụng lệnh net để quản lý service trên máy tính từ xa bằng cách chỉ định tên máy tính. Ví dụ, lệnh net start ServiceName /S RemotePCnet stop ServiceName /S RemotePC được sử dụng để bắt đầu hoặc dừng service trên máy tính từ xa.

3. Quản lý các service Windows bằng cmdlet PowerShell

PowerShell cung cấp khả năng kiểm soát nâng cao hơn đối với các service Windows bằng những cmdlet tích hợp như Get-Service, Start-Service, Stop-Service và Restart-Service. Các cmdlet này cho phép người dùng kiểm tra trạng thái của service, khởi động hoặc dừng service và thậm chí khởi động lại khi cần.

Các cmdlet PowerShell cung cấp đầu ra chi tiết, bao gồm trạng thái service, tên hiển thị và những service phụ thuộc. Các cmdlet này cho phép tạo script và tự động hóa, giúp quản lý hiệu quả nhiều service.

Tính linh hoạt và các tính năng mạnh mẽ của PowerShell khiến nó trở thành công cụ được quản trị viên quản lý service Windows ưa thích.

Nhận trạng thái service bằng cmdlet

Chúng ta có thể sử dụng cmdlet Get-Service -Name ServiceName để nhận thông tin chi tiết về service đã chỉ định. Ví dụ, lệnh sau trả về trạng thái của service MySQL80, hiển thị service đang chạy hay đã dừng:

Get-Service -Name MySQL80
Kiểm tra trạng thái service bằng Get Service
Kiểm tra trạng thái service bằng Get Service

Truy vấn service bằng cmdlet PowerShell

Chúng ta có thể sử dụng lệnh Get-Service để truy vấn các service dựa trên những tiêu chí cụ thể. Ví dụ, chúng ta có thể truy xuất tất cả các service đang chạy bằng lệnh:

Get-Service | Where-Object {$_.Status -eq 'Running'}
Truy vấn các service cụ thể
Truy vấn các service cụ thể

Bắt đầu và dừng service bằng cmdlet PowerShell

Chúng ta có thể bắt đầu hoặc dừng một service cụ thể bằng cmdlet Start-Service và Stop-Service tương ứng. Ví dụ, sử dụng lệnh PowerShell sau để bắt đầu, dừng và kiểm tra trạng thái của service MySQL80:

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

Thay đổi loại khởi động service bằng cmdlet PowerShell

Các cmdlet PowerShell cho phép chúng ta cập nhật loại khởi động service. Ví dụ, chúng ta có thể chạy các lệnh cmdlet sau để cấu hình một service tự động khởi động cùng hệ thống, yêu cầu khởi động thủ công hoặc bị vô hiệu hóa tương ứng:

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

Các lệnh cmdlet này giúp quản trị viên quản lý hành vi service hiệu quả, đảm bảo những service thiết yếu khởi động khi cần, đồng thời ngăn các service không cần thiết chạy.

Quản lý service từ xa bằng cmdlet

PowerShell cũng cho phép quản lý các service trên máy tính từ xa bằng cách chỉ định tên của chúng. Ví dụ, lệnh Get-Service -Name ServiceName -ComputerName RemotePC truy xuất trạng thái của một service cụ thể đang chạy trên máy tính từ xa có tên RemotePC, cho phép quản trị viên giám sát các service từ xa.

Tương tự, lệnh Restart-Service -Name ServiceName -ComputerName serviceName cố gắng khởi động lại service đã chỉ định trên máy tính từ xa. Lệnh này đảm bảo service khởi động lại mà không yêu cầu truy cập trực tiếp vào máy. Tuy nhiên, quản lý service từ xa yêu cầu phải có quyền phù hợp và bật tính năng PowerShell remoting.

Thứ Tư, 07/05/2025 16:55
3,99 👨 255
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖
    Chia sẻ
    Chia sẻ FacebookChia sẻ Twitter
    Đóng