Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Phần Mềm

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh

Các ứng dụng đang chạy mà bạn nhìn thấy trên màn hình chỉ là một phần nhỏ của những gì đang diễn ra trong Windows. Từ việc quản lý trình điều khiển thiết bị đến đảm bảo tính bảo mật, một loạt quy trình nền sẽ duy trì hoạt động của PC Windows.

Đối với bất kỳ quản trị viên hệ thống nào giám sát nhiều máy tính, điều quan trọng là có thể xem trạng thái của các dịch vụ quan trọng này. Phương pháp này của Trình quản lý tác vụ quá chậm và bạn không thể tự động hóa nó bằng tập lệnh.

Giải pháp? Công cụ dòng lệnh. Sử dụng Dấu nhắc Lệnh hoặc PowerShell, bạn có thể nhanh chóng đọc được các dịch vụ Microsoft đang hoạt động đang chạy trên hệ thống, giúp bạn chẩn đoán mọi sự cố một cách nhanh chóng. 

Liệt kê các dịch vụ Windows trong dấu nhắc lệnh

Mặc dù không linh hoạt hay mạnh mẽ như Windows PowerShell nhưng Command Promt vẫn là một công cụ tuyệt vời dành cho quản trị viên hệ thống. Bạn có thể sử dụng queryex để biết trạng thái của cả dịch vụ đang hoạt động và dịch vụ đã tắt, sau đó sử dụng lệnh taskkill để kết thúc các quy trình phiền toái.

  1. Để sử dụng lệnh queryex, hãy chạy Dấu nhắc Lệnh với tư cách Quản trị viên. Bạn có thể tìm thấy ứng dụng này bằng cách tìm kiếm cmd trong menu bắt đầu.
Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh
  1. Có nhiều cách sử dụng lệnh sc queryex. Loại và Trạng thái là hai tham số được sử dụng phổ biến nhất. Ví dụ:nhập lệnh sau để xem tất cả  quy trình của Windows:

sc queryex type=service state=all

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh
  1. Chế độ xem mặc định có thể hơi choáng ngợp. Bạn chỉ có thể hiển thị tên của các quy trình để giúp phân tích danh sách dễ dàng hơn:

sc queryex type=trạng thái dịch vụ=all | tìm /i “SERVICE_NAME:”

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh
  1. Theo mặc định, lệnh liệt kê tất cả các tiến trình đang hoạt động. Để tìm những cái không hoạt động, hãy sửa đổi tham số trạng thái:

sc queryex type=trạng thái dịch vụ=không hoạt động

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh
  1. Bạn cũng có thể truy vấn trạng thái của một quy trình cụ thể theo tên của nó. Điều này cực kỳ hữu ích cho quản trị viên hệ thống vì họ có thể thiết lập các tệp hàng loạt để kiểm tra nhiều quy trình cùng một lúc. Đây là một ví dụ:

sc truy vấn Cài đặt thiết bị

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh

Liệt kê các dịch vụ Windows trong PowerShell

PowerShell được coi là một shell dòng lệnh chuyên dụng cho Windows hiện đại. Do đó, nó cung cấp quyền truy cập vào hầu hết mọi thành phần của hệ điều hành thông qua các lệnh và các dịch vụ Windows cũng không ngoại lệ.

Ưu điểm của PowerShell là bạn có thể tự động hóa nó một cách dễ dàng. Tất cả các lệnh PowerShell có thể được biên dịch thành các tập lệnh phức tạp, cho phép bạn thiết lập các tác vụ quản trị hệ thống trên nhiều PC mà không gặp rắc rối.

  1. Bắt đầu bằng cách mở PowerShell. Bạn có thể tìm kiếm nó trong Start Menu; chỉ cần đảm bảo chạy phiên bản nâng cao (tức là với tư cách Quản trị viên).
Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh
  1. Lệnh đơn giản nhất để liệt kê các dịch vụ Windows trên PowerShell là Get-Service . Nó hiển thị tất cả các dịch vụ trên máy tính của bạn cùng với trạng thái và tên của chúng. Vấn đề duy nhất là danh sách dịch vụ có thể khá dài.
Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh
  1. Khi sử dụng Nhận dịch vụ , tốt hơn hết bạn nên xuất danh sách sang tệp văn bản. Bạn có thể thực hiện việc này bằng cách sử dụng các đường ống, như thế này:

Nhận dịch vụ | Tệp ngoài “C:\logs\All_Services.txt”

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh
  1. Để tra cứu trạng thái của một dịch vụ cụ thể, hãy làm theo Nhận dịch vụ lệnh với tên của dịch vụ. Bạn có thể yêu cầu trạng thái của nhiều quy trình bằng cách phân tách tên của chúng bằng dấu phẩy.

Nhận dịch vụ CryptSvc, COMSysApp

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh
  1. Ống cũng có thể được sử dụng để kết hợp Get-Service lệnh ghép ngắn với Đối tượng ở đâu chức năng và lọc kết quả theo Trạng thái. Lệnh sau minh họa điều này bằng cách lấy tất cả các dịch vụ Đang chạy:

Nhận dịch vụ | Đối tượng ở đâu {$_.Status -EQ “Đang chạy”

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh

Kiểm tra sự phụ thuộc của dịch vụ

Bất kỳ quy trình phức tạp nào cũng được chia thành nhiều dịch vụ phụ thuộc lẫn nhau. Đây là lý do tại sao chỉ nhận được trạng thái của một dịch vụ cụ thể thường là không đủ. Bạn cũng cần kiểm tra trạng thái của các dịch vụ mà dịch vụ đó phụ thuộc vào.

  1. Để xem các dịch vụ được yêu cầu bởi một dịch vụ cụ thể, hãy sử dụng -RequiredServices gắn cờ với Nhận dịch vụ lệnh ghép ngắn. Đây là một ví dụ:

Nhận dịch vụ -Tên CryptSvc –Dịch vụ bắt buộc

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh
  1. Tương tự, để có danh sách các dịch vụ phụ thuộc vào một dịch vụ cụ thể, hãy tận dụng -DependentServices cờ.

Nhận dịch vụ -Tên CryptSvc -Dịch vụ phụ thuộc

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh

Hai cờ này rất quan trọng trong việc viết các tập lệnh để tự động khởi động hoặc dừng các dịch vụ Windows vì chúng cung cấp cho bạn cách theo dõi tất cả các dịch vụ được kết nối với dịch vụ bị ảnh hưởng.

Liệt kê các dịch vụ Windows trên máy tính từ xa

Phương pháp PowerShell không giới hạn ở các máy tính cục bộ. Bạn cũng có thể sử dụng lệnh ghép ngắn Get-Service với cú pháp tương tự được mô tả ở trên để truy vấn các quy trình của PC từ xa. Chỉ cần thêm -ComputerName gắn cờ ở cuối để chỉ định máy tính từ xa nào sẽ lấy thông tin từ đó. 

Đây là một ví dụ:

get-service CryptSvc -ComputerName Workstation7

Quản lý dịch vụ Windows trong PowerShell

Nhận trạng thái dịch vụ không phải là điều duy nhất bạn có thể làm trong Windows PowerShell. Là một môi trường tập lệnh chính thức, nó cung cấp các lựa chọn thay thế tập lệnh cho tất cả các tùy chọn GUI. 

Lệnh ghép ngắn Powershell có thể dừng, khởi động, khởi động lại hoặc thậm chí sửa đổi dịch vụ. Được kết hợp với Nhận dịch vụ tự động lệnh, tập lệnh PowerShell có thể được viết để tự động hóa hoàn toàn các tác vụ quản lý hệ thống hàng ngày.

  1. Ngoài việc truy vấn trạng thái dịch vụ, bạn cũng có thể sử dụng PowerShell để quản lý chúng. Việc bắt đầu hoặc dừng dịch vụ có thể được thực hiện bằng một lệnh duy nhất, chỉ yêu cầu tên của dịch vụ. Ví dụ:đây là cách bạn có thể dừng dịch vụ:

Dịch vụ dừng -Bộ đệm tên

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh
  1. Việc bắt đầu một dịch vụ cũng diễn ra tương tự:

Dịch vụ bắt đầu -Bộ đệm tên

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh
  1. Nếu một dịch vụ không hoạt động bình thường, bạn cũng có thể chọn khởi động lại dịch vụ đó:

Khởi động lại dịch vụ -Bộ đệm tên

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh
  1. Ngoài ra còn có lệnh ghép ngắn Set-Service có thể được sử dụng để thay đổi các thuộc tính của dịch vụ. Ở đây chúng tôi tắt tính năng tự động khởi động của dịch vụ Bộ đệm máy in:

Set-Service 'Bộ đệm' -StartupType bị vô hiệu hóa

Dễ dàng liệt kê tất cả các dịch vụ Windows bằng PowerShell hoặc Dấu nhắc lệnh

Cách tốt nhất để liệt kê các dịch vụ Windows là gì?

Cho dù bạn đang chạy Windows 10 hay Windows Server, việc có thể xem danh sách tất cả các dịch vụ Windows có thể rất hữu ích. Bạn có thể chẩn đoán sự cố với các chức năng quan trọng của hệ thống hoặc dừng các dịch vụ không cần thiết của Microsoft để cải thiện hiệu suất.

Với mục đích này, PowerShell là lựa chọn tốt nhất. Mặc dù bạn có thể lấy danh sách dịch vụ trong Dấu nhắc Lệnh nhưng chức năng bổ sung do PowerShell cung cấp sẽ hữu ích hơn.

Bạn có thể sử dụng lệnh ghép ngắn PowerShell để nhận trạng thái dịch vụ của các quy trình Windows, lọc chúng theo trạng thái của chúng hoặc các tham số khác. Cũng dễ dàng xác định các dịch vụ phụ thuộc và bắt đầu hoặc dừng chúng theo yêu cầu.