Lệnh Get-Process trong PowerShell là một công cụ cực kỳ mạnh mẽ cho phép quản trị viên hệ thống và nhà phát triển liệt kê, lọc và phân tích các tiến trình đang chạy trên hệ thống Windows. So với Task Manager thông thường, lệnh get-process powershell mang lại khả năng tự động hóa linh hoạt và chi tiết hơn nhiều. Bài viết này sẽ đi sâu vào cú pháp, các tham số quan trọng, ví dụ thực tế và những lưu ý khi sử dụng lệnh Get-Process để

Get-Process là một cmdlet (command-let) trong môi trường PowerShell dùng để lấy thông tin về các tiến trình đang hoạt động trên máy tính cục bộ hoặc máy tính từ xa. Nó trả về một đối tượng Process cho mỗi tiến trình, cho phép bạn truy cập vào các thuộc tính như tên, ID, bộ nhớ sử dụng, thời gian CPU, v.v. Lệnh này thay thế hoàn toàn lệnh tasklist cũ trong CMD và cung cấp đầu ra có cấu trúc để dễ dàng xử lý tiếp.
Bất kỳ ai từ người dùng phổ thông đến chuyên gia DevOps đều có thể hưởng lợi từ việc sử dụng lệnh get-process powershell để giám sát hiệu năng, phát hiện tiến trình lạ hoặc tối ưu tài nguyên hệ thống.
Cú pháp cơ bản của lệnh Get-Process

Cú pháp đơn giản nhất của lệnh Get-Process:
Get-Process
Khi chạy mà không có tham số, lệnh này liệt kê tất cả các tiến trình đang chạy trên máy tính hiện tại, hiển thị các cột mặc định như Handles, NPM(K), PM(K), WS(K), CPU(s), Id, ProcessName. Đây là điểm khởi đầu tuyệt vời để làm quen với lệnh.
Cú pháp đầy đủ với các tham số phổ biến:
Get-Process [[-Name] <String[]>] [-Id <Int32[]>] [-ComputerName <String[]>] [-Module] [-FileVersionInfo] [<CommonParameters>]
Các tham số chính của lệnh Get-Process
| Tham số | Kiểu dữ liệu | Mô tả |
|---|---|---|
| -Name | String[] | Lọc tiến trình theo tên (có thể dùng ký tự đại diện *). |
| -Id | Int32[] | Lọc theo Process ID cụ thể. |
| -ComputerName | String[] | Lấy thông tin tiến trình từ máy tính từ xa. |
| -Module | Switch | Hiển thị thông tin module (DLL) được tải bởi tiến trình. |
| -FileVersionInfo | Switch | Lấy thông tin phiên bản file của tiến trình (nếu có). |
Kết hợp các tham số này giúp bạn kiểm soát chính xác dữ liệu đầu ra, đặc biệt khi làm việc với số lượng lớn tiến trình.
Phân loại tiến trình với Get-Process

Không có phân loại cứng nhắc nào do cmdlet tạo ra, nhưng
Sử dụng lệnh Get-Process | Sort-Object WorkingSet -Descending.
Có, nhưng cần tham số -Credential để cung cấp thông tin đăng nhập, và máy đích phải cho phép PowerShell Remoting qua HTTPS hoặc địa chỉ IP tin cậy.
Làm cách nào để lấy thông tin về file thực thi của tiến trình?
Thêm tham số -FileVersionInfo: Get-Process -Name notepad -FileVersionInfo sẽ hiển thị đường dẫn, phiên bản, nhà sản xuất.
Tại sao Get-Process không hiển thị một số tiến trình?
Có thể do tiến trình đó thuộc một session người dùng khác hoặc là tiến trình bảo vệ (protected process). Hãy chạy PowerShell với quyền Administrator và thử lệnh Get-Process -IncludeUserName.
Get-Process và tasklist khác nhau thế nào?
Get-Process trả về đối tượng, tasklist trả về văn bản. Với Get-Process, bạn có thể dễ dàng trích xuất giá trị và xử lý bằng pipeline, còn tasklist khó tích hợp hơn.
Kết luận

Lệnh Get-Process trong PowerShell là một trong những cmdlet quan trọng nhất cho bất kỳ ai làm việc với hệ thống Windows. Từ việc liệt kê đơn giản đến giám sát tự động và quản lý từ xa, nó mang lại sự linh hoạt vượt trội so với các công cụ truyền thống. Bằng cách nắm vững cú pháp, tham số và các mẹo tối ưu được chia sẻ trong bài viết, bạn có thể khai thác triệt để sức mạnh của lệnh get-process powershell để nâng cao hiệu quả quản trị và bảo mật hệ thống.
Hãy thực hành các ví dụ trên môi trường thực tế để làm quen dần. Khi đã thuần thục, bạn sẽ thấy PowerShell trở thành trợ thủ đắc lực không thể thiếu trong công việc hàng ngày.







