Microsoft đã thay thế Command Prompt tiêu chuẩn bằng Windows PowerShell – một công cụ dựa trên giao diện dòng lệnh (CLI) mạnh mẽ hơn nhiều, được sử dụng để viết script và tự động hóa các tác vụ. Ngoài khả năng tự động hóa các tác vụ phức tạp hoặc lặp đi lặp lại, chức năng của PowerShell còn có thể được mở rộng với sự trợ giúp của các module và cmdlet. Nếu bạn đang muốn khám phá các khả năng của Windows PowerShell, hoặc bạn đã là người dùng thành thạo muốn tận dụng tối đa các tính năng của nó, việc biết một vài lệnh PowerShell quan trọng sẽ giúp công việc của bạn dễ dàng hơn, dù là khi lập trình bằng ngôn ngữ này hay sử dụng giao diện dòng lệnh.
Với những ai thường xuyên quản lý hệ thống, tự động hóa tác vụ hoặc thực hiện các công việc quản trị, việc nắm vững một số lệnh nhanh chóng có thể mang lại lợi ích to lớn. Tự động hóa các tác vụ cần thực hiện lặp đi lặp lại, truy cập các điều khiển chi tiết trên Windows, và quản lý nhiều hệ thống cùng lúc – tất cả những việc này đều có thể trở nên dễ dàng hơn nhiều với PowerShell. Sau một thời gian dài sử dụng rộng rãi, dưới đây là những lệnh PowerShell sẽ giúp bạn tiết kiệm thời gian và công sức đáng kể.
1. Get-Process
Theo dõi và Quản lý Tiến trình Hệ thống
Thông tin các tiến trình hệ thống hiển thị trên giao diện PowerShell với lệnh Get-Process
Lệnh Get-Process
đặc biệt hữu ích cho những ai muốn truy xuất thông tin về các tiến trình đang chạy trên máy tính cục bộ hoặc trên một máy chủ từ xa. Khi thực thi lệnh này, bạn sẽ nhận được các chi tiết như tên tiến trình, ID tương ứng, mức sử dụng CPU, mức tiêu thụ bộ nhớ, v.v., liên kết với từng tiến trình cụ thể.
Tất cả thông tin này có thể được sử dụng để giám sát hiệu suất hệ thống, xác định các dịch vụ đang tiêu thụ tài nguyên nặng, hoặc thậm chí tìm ra nguyên nhân gây ra hành vi lỗi của một dịch vụ hoặc ứng dụng. Bạn có thể sử dụng nhiều biến thể của lệnh để nhận được thông tin chính xác theo yêu cầu. Dưới đây là một số ví dụ:
Get-Process [[-Name] <string>] [-ComputerName <string>] [-Module] [-FileVersionInfo] [<commonparameters>]</commonparameters></string></string>
Điều chỉnh cú pháp này theo yêu cầu để đạt được kết quả chính xác. Ví dụ, lệnh sau sẽ tìm tất cả các tiến trình đang tiêu thụ hơn 1 GB bộ nhớ:
Get-Process | Where-Object { $_.WorkingSet64 -gt 1GB }
Tương tự, bạn có thể xem tất cả các tiến trình từ Google Chrome bằng cách sử dụng:
Get-Process -Name chrome
2. Get-Command
Khám phá Các Lệnh PowerShell Hiện Có
Liệt kê các lệnh có sẵn trong cửa sổ PowerShell với lệnh Get-Command
Get-Command
là cách tốt nhất để liệt kê tất cả các lệnh có sẵn trong cửa sổ PowerShell – bao gồm các cmdlet, hàm, bí danh (aliases) và script. Thông tin được hiển thị cùng với nguồn và loại lệnh. Sử dụng lệnh này, người dùng có thể khám phá các lệnh cho các tác vụ cụ thể, tìm hiểu các module khác nhau và có cái nhìn rõ hơn về các công cụ có sẵn trong môi trường PowerShell của họ.
Sử dụng cú pháp sau để chạy lệnh:
Get-Command [[-Name] <string>] [-Module <string>] [-CommandType <commandtypes>] [<commonparameters>]</commonparameters></commandtypes></string></string>
Bạn có thể sửa đổi nó như sau để liệt kê tất cả các cmdlet trong một module cụ thể:
Get-Command -Module Microsoft.PowerShell.Management
3. Set-ExecutionPolicy
Cấu hình Chính sách Thực thi Script An toàn
Thiết lập chính sách thực thi script PowerShell với lệnh Set-ExecutionPolicy
Việc chạy lệnh Set-ExecutionPolicy
sẽ cấu hình chính sách thực thi script của PowerShell, quyết định liệu script có thể chạy được hay không và nếu có thì trong điều kiện nào. Về cơ bản, nó xác định bạn có thể chạy các script đã ký hay chưa ký. Lệnh này đóng vai trò quan trọng trong việc cho phép thực thi script khi tự động hóa tác vụ, đồng thời đảm bảo các biện pháp bảo mật thích hợp được duy trì.
Nếu bạn là người dùng nâng cao, bạn thường cần điều chỉnh chính sách để chạy các script tùy chỉnh. Đây là lúc bạn sẽ thấy lệnh này cực kỳ hữu ích. Cú pháp như sau:
Set-ExecutionPolicy [-ExecutionPolicy] <executionpolicy> [-Scope <executionpolicyscope>] [-Force] [<commonparameters>]</commonparameters></executionpolicyscope></executionpolicy>
Sử dụng lệnh sau để tạm thời bỏ qua các hạn chế cho một phiên duy nhất:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
4. Get-EventLog
Dễ Dàng Khắc phục Sự cố và Kiểm tra Hệ thống
Hiển thị nhật ký sự kiện hệ thống bằng lệnh Get-EventLog trên PowerShell
Khi bạn đang cố gắng khắc phục lỗi hoặc kiểm tra hoạt động hệ thống, điều đầu tiên bạn nên xem xét là nhật ký hệ thống. Đó chính xác là những gì lệnh Get-EventLog
sẽ truy xuất cho bạn. Nó cung cấp quyền truy cập vào các sự kiện chi tiết liên quan đến hệ thống, như cảnh báo, lỗi, vi phạm bảo mật, v.v. Thông tin này có thể được sử dụng để chẩn đoán và giải quyết các vấn đề.
Cú pháp cơ bản như sau:
Get-EventLog [-LogName] <string> [-Newest <int32>] [-After <datetime>] [-Before <datetime>] [-EntryType <string>] [<commonparameters>]</commonparameters></string></datetime></datetime></int32></string>
Tuy nhiên, bạn có thể sửa đổi nó để phù hợp với yêu cầu của mình. Ví dụ, sử dụng lệnh này để lấy 10 sự kiện nhật ký hệ thống gần đây nhất:
Get-EventLog -LogName System -Newest 10
Hoặc lệnh này để tìm lỗi trong nhật ký ứng dụng:
Get-EventLog -LogName Application -EntryType Error
5. Where-Object
Tinh Chỉnh Dữ liệu với Bộ Lọc Mạnh Mẽ
Lọc và tinh chỉnh dữ liệu trong PowerShell bằng lệnh Where-Object
Nếu bạn muốn lọc các đối tượng trong một pipeline, lệnh Where-Object
là công cụ bạn cần. Bạn có thể chỉ định các điều kiện cho phép thu hẹp kết quả xuống chỉ còn dữ liệu liên quan. Lệnh này hữu ích cho việc phân tích, báo cáo hoặc tự động hóa. Ngoài việc tinh chỉnh các bộ dữ liệu lớn, nó còn có thể được sử dụng để tự động hóa việc giám sát bằng cách lọc các điều kiện cụ thể, chẳng hạn như lỗi trong nhật ký.
Dưới đây là một cú pháp mẫu:
Where-Object [-FilterScript] <scriptblock> [-InputObject <psobject>] [-Culture <string>] [<commonparameters>]</commonparameters></string></psobject></scriptblock>
Kết luận
Windows PowerShell đã khẳng định vị thế là một công cụ không thể thiếu cho người dùng Windows, từ những người mới bắt đầu tìm hiểu về tự động hóa đến các quản trị viên hệ thống chuyên nghiệp. Việc nắm vững 5 lệnh PowerShell cơ bản như Get-Process
, Get-Command
, Set-ExecutionPolicy
, Get-EventLog
và Where-Object
sẽ giúp bạn kiểm soát hệ thống hiệu quả hơn, tiết kiệm thời gian và công sức trong các tác vụ hàng ngày. Khả năng giám sát tiến trình, khám phá lệnh, quản lý chính sách bảo mật, khắc phục sự cố qua nhật ký sự kiện và tinh chỉnh dữ liệu là những kỹ năng cốt lõi mà mọi người dùng Windows nâng cao nên trang bị. Hãy bắt đầu áp dụng những lệnh này vào công việc của bạn ngay hôm nay để trải nghiệm sức mạnh vượt trội của PowerShell.
Bạn đã từng sử dụng những lệnh PowerShell này chưa? Hoặc có lệnh nào khác mà bạn thấy hữu ích? Hãy chia sẻ kinh nghiệm và ý kiến của bạn trong phần bình luận bên dưới nhé!