Hầu hết quản trị viên CNTT đều sử dụng PowerShell để viết script và tự động hóa, nhưng nó không chỉ dành cho chuyên gia CNTT - bất kỳ ai xử lý các thư mục lộn xộn đều cần những lệnh này. Mọi người sử dụng chúng để theo dõi code cũ, sắp xếp các file khách hàng và giải quyết tình trạng hỗn loạn tích tụ sau nhiều tháng làm việc theo deadline.
12. Get-Help

Nếu bạn đã học PowerShell qua các video trên YouTube, thì một trong những lệnh đầu tiên mà mọi người nhắc đến chính là Get-Help. Đúng như tên gọi, Get-Help giúp bạn tìm kiếm thông tin về các lệnh cmdlet PowerShell cùng với cú pháp và tham số của chúng; nó thậm chí còn cung cấp những ví dụ về cách sử dụng.
Để xem cách một lệnh hoạt động, hãy nhập Get-Help theo sau là tên lệnh:
Get-Help Get-Process
Lệnh này hiển thị tóm tắt, cú pháp và tham số của lệnh.
11. Get-Command

Trong khi Get-Help cung cấp thông tin chi tiết về một lệnh cmdlet, Get-Command giúp bạn tìm và liệt kê tất cả các lệnh hiện có. Ví dụ, nếu bạn biết mình muốn làm gì nhưng không nhớ chính xác tên lệnh, Get-Command sẽ giúp bạn tìm các lệnh dựa trên tên hoặc mẫu riêng lẻ.
Ví dụ, để thử tìm tất cả các lệnh có chứa từ "process", hãy nhập:
Get-Command *process*
Lệnh này hiển thị tất cả các lệnh có tên là "process".
10. Test-NetConnection

Nếu bạn sử dụng các công cụ riêng biệt để ping, telnet và traceroute, lệnh Cmdlet Test-NetConnection sẽ thực hiện cả ba. Đây là một công cụ xử lý sự cố mạng, kiểm tra xem sự cố nằm ở mạng, máy chủ hay ở nơi khác.
Để kiểm tra xem một trang web có thể truy cập được hay không, hãy chạy:
Test-NetConnection quantrimang.com
Lệnh này cung cấp cho bạn kết quả ping và thông tin kết nối cơ bản.
9. Get-ChildItem

Get-ChildItem hiển thị các file và thư mục trong bất kỳ thư mục nào. Bạn muốn xem nội dung trong Documents? Chỉ cần nhập lệnh này, thay "username" bằng tên của bạn:
Get-ChildItem C:\Users\Username\Documents
Bạn có thể kết hợp Get-ChildItem với các lệnh khác để tạo script và tự động hóa những tác vụ xử lý hàng loạt, tự động hóa và kiểm tra các file phù hợp với những tiêu chí cụ thể.
8. Where-Object

Trong ví dụ trước, bạn có thể đã nhận thấy bài viết đã sử dụng cmdlet Where-Object để tìm các file lớn và tò mò muốn biết lệnh này dùng để làm gì. Where-Object lọc dữ liệu bằng cách chọn các đối tượng có giá trị thuộc tính cụ thể - tương tự như câu lệnh if trong lập trình. Bên trong dấu ngoặc nhọn, $_ biểu thị mỗi mục đang được đánh giá theo các điều kiện lọc của bạn.
Ví dụ, nếu bạn cần xem tất cả các service đang chạy, hãy nhập lệnh này:
Get-Service | Where-Object {$_.Status -eq "Running"}
7. Select-Object

Thông thường, đầu ra lệnh bao gồm nhiều thông tin hơn bạn cần. Select-Object cho phép bạn chỉ chọn dữ liệu mình muốn. Sau đó, bạn có thể xuất các thuộc tính đã chọn sang file CSV bằng lệnh ghép ngắn Export-Csv. Để chỉ xem tên và trạng thái của các service, hãy sử dụng:
Get-Service | Select-Object Name, Status
Nếu bạn đang tìm kiếm 5 tiến trình sử dụng nhiều CPU nhất, đây là:
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 Name, CPU
6. Get-Member

PowerShell hoạt động với các đối tượng và Get-Member hiển thị cho bạn những thuộc tính và phương thức của chúng. Ví dụ, nếu lệnh cung cấp cho bạn một file, Get-Member có thể hiển thị kích thước, ngày tạo và các chi tiết khác của file đó. Nhập lệnh sau để xem thông tin mà một đối tượng tiến trình chứa:
Get-Process | Get-Member
Lệnh này hiển thị các thuộc tính như CPU, Id và WorkingSet, cùng với các phương thức như Kill() và Refresh().
5. Set-Clipboard và Get-Clipboard

Khi nhận được một lượng lớn đầu ra từ PowerShell muốn sao chép, bạn có thể chọn thủ công toàn bộ hoặc sử dụng Set-Clipboard. Chọn thủ công nghĩa là cuộn lên, bắt đầu chọn, kéo xuống cẩn thận và hy vọng bạn không mắc lỗi giữa chừng. Set-Clipboard và Get-Clipboard giúp toàn bộ quá trình này đơn giản hơn nhiều.
Để sao chép kết quả lệnh vào clipboard, hãy nhập lệnh sau:
Get-Process | Select-Object Name, CPU | Set-Clipboard
Giờ đây, bạn có thể dán kết quả vào Microsoft Excel hoặc bất kỳ trình soạn thảo văn bản nào.
4. Out-GridView

Đôi khi bạn cần sắp xếp và lọc kết quả một cách tương tác. Out-GridView sẽ mở một cửa sổ riêng với một bảng có thể tìm kiếm và sắp xếp.
Get-Process | Out-GridView
Lệnh này sẽ mở một cửa sổ mới hiển thị danh sách các tiến trình đang chạy theo định dạng bảng GUI. Nhấp vào tiêu đề cột để sắp xếp hoặc nhập vào hộp lọc để tìm kiếm.
3. Get-Process

Get-Process hiển thị mọi chương trình đang chạy trên máy tính, bao gồm mức sử dụng bộ nhớ, thời gian CPU và ID tiến trình.
Để xem tất cả các tiến trình đang chạy, chỉ cần nhập:
Get-Process
2. Get-FileHash

Get-FileHash tính toán giá trị hash của nội dung file bằng thuật toán hash được chỉ định. Lệnh này cho phép bạn xác minh các bản tải xuống hoặc kiểm tra xem có ai đó đã can thiệp vào file của bạn hay không.
Để lấy hash SHA256 của file:
Get-FileHash C:\Downloads\Sample.docx
1. Tham số -WhatIf

Tham số -WhatIf cho phép bạn xem trước kết quả lệnh mà không cần thực thi lệnh. Tùy chọn này đặc biệt hữu ích khi chạy các lệnh Powershell để xóa, di chuyển hoặc sửa đổi file, chẳng hạn như dọn dẹp nhật ký bản build cũ hoặc triển khai tài nguyên web.
Để xem trước những file nào sẽ bị xóa, hãy thêm -WhatIf:
Remove-Item C:\Temp\*.log -WhatIf
PowerShell sẽ hiển thị từng file mà nó sẽ xóa nhưng không xóa bất kỳ file nào.
12 lệnh này bao gồm những việc bạn cần hàng ngày - tìm file, kiểm tra những gì đang làm chậm máy tính và sắp xếp các thư mục dự án.
Hãy bắt đầu với Get-Help khi bạn gặp khó khăn, sử dụng Where-Object để lọc bỏ các chi tiết không mong muốn và luôn thêm -WhatIf trước khi thực hiện bất kỳ thao tác nào có thể xóa hoặc thay đổi file. Khi đã nắm vững những kiến thức cơ bản này, bạn có thể tự động hóa các tác vụ này bằng PowerShell thay vì phải nhập thủ công mỗi lần.
Xem thêm: