Bảng lệnh PowerShell — Các lệnh bạn có thể sao chép và dùng ngay

Các lệnh PowerShell mà lập trình viên và quản trị viên dùng hằng ngày trên Windows, và trong PowerShell 7 trên macOS và Linux, được giải thích ngắn gọn trong một dòng mỗi lệnh. Nhập thư mục, file và máy chủ của bạn một lần rồi sao chép các lệnh sẵn sàng chạy.

Cập nhật
Giá trị của bạnMọi ví dụ bên dưới cập nhật khi bạn gõ

Trợ giúp & khám phá

5
Get-Command *service*

Tìm các lệnh có tên chứa một từ — cách nhanh nhất để khám phá cmdlet.

Get-Help Get-Process -Examples

Xem ví dụ cách dùng của một cmdlet. Chạy Update-Help một lần để tải đầy đủ trợ giúp.

Get-Process | Get-Member

Liệt kê thuộc tính và phương thức của các đối tượng mà lệnh trả về.

Get-Alias ls

Xem alias đang chạy cmdlet nào (ls, dir và gci đều chạy Get-ChildItem).

$PSVersionTable

Hiển thị phiên bản và bản phát hành PowerShell (Windows PowerShell 5.1 hay PowerShell 7).

File & thư mục

11
Get-ChildItem C:\Projects\app -Recurse -Filter *.log

Liệt kê file cùng một loại trong thư mục và các thư mục con.

Set-Location C:\Projects\app

Đổi thư mục hiện tại (alias cd).

New-Item -ItemType Directory -Path C:\Projects\app\logs -Force

Tạo thư mục, kể cả các thư mục cha còn thiếu.

Copy-Item app.log C:\Projects\app\backup\ -Force

Sao chép file, ghi đè bản sao đã có.

Move-Item app.log C:\Projects\app\archive\

Di chuyển hoặc đổi tên file hay thư mục.

Remove-Item C:\Projects\app\temp -Recurse -Force

nguy hiểm Xóa thư mục và toàn bộ nội dung bên trong mà không hỏi lại.

Get-Content app.log -Tail 50 -Wait

Hiển thị 50 dòng cuối của file và tiếp tục theo dõi dòng mới (giống tail -f).

Set-Content app.log -Value "text" -Encoding utf8

nguy hiểm Ghi văn bản vào file, thay thế toàn bộ nội dung cũ.

Add-Content app.log -Value "another line"

Thêm một dòng vào cuối file.

Compress-Archive -Path C:\Projects\app\* -DestinationPath archive.zip

Tạo file ZIP từ nội dung của một thư mục.

Expand-Archive archive.zip -DestinationPath C:\Projects\app

Giải nén file ZIP.

Tìm kiếm & văn bản

7
Select-String -Path *.log -Pattern "error"

Tìm văn bản hoặc regex trong file (giống grep); hiển thị tên file, số dòng và nội dung dòng.

Get-ChildItem -Recurse | Select-String "error" -List

Tìm các file trong thư mục có chứa đoạn văn bản.

(Get-Content app.log) -replace "old", "new" | Set-Content app.log

nguy hiểm Tìm và thay thế văn bản trong file (hỗ trợ regex).

Get-Content app.log | Measure-Object -Line -Word -Character

Đếm số dòng, từ và ký tự (giống wc).

Import-Csv data.csv | Where-Object { $_.Status -eq "active" }

Đọc CSV dưới dạng đối tượng và lọc dòng theo một cột.

Get-Process | Export-Csv processes.csv -NoTypeInformation

Lưu kết quả của bất kỳ lệnh nào thành file CSV.

Get-Content data.json -Raw | ConvertFrom-Json

Chuyển file JSON thành đối tượng để truy vấn.

Tiến trình & dịch vụ

6
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10

Hiển thị 10 tiến trình dùng nhiều thời gian CPU nhất.

Stop-Process -Name node -Force

nguy hiểm Dừng tất cả tiến trình có tên đó.

Get-Service | Where-Object Status -eq Running

Liệt kê các dịch vụ Windows đang chạy.

Restart-Service Spooler

Khởi động lại dịch vụ (cần PowerShell chạy với quyền quản trị).

Start-Process pwsh -Verb RunAs

Mở cửa sổ PowerShell mới với quyền quản trị viên.

Get-NetTCPConnection -LocalPort 443 | Select-Object OwningProcess

Tìm tiến trình đang lắng nghe trên một cổng.

Mạng & web

5
Test-NetConnection example.com -Port 443

Kiểm tra máy chủ có truy cập được qua cổng TCP không (ping + kiểm tra cổng).

Resolve-DnsName example.com

Tra cứu bản ghi DNS của một tên máy chủ.

Invoke-RestMethod https://api.github.com/repos/owner/repo

Gọi API JSON và nhận phản hồi dưới dạng đối tượng.

Invoke-WebRequest https://example.com/file.zip -OutFile file.zip

Tải một file xuống.

Get-NetIPAddress -AddressFamily IPv4

Hiển thị các địa chỉ IPv4 của máy tính này.

Biến, pipeline & scripting

8
$env:PATH -split ";"

Hiển thị mỗi thư mục trong PATH trên một dòng riêng.

$env:API_URL = "value"

Đặt biến môi trường cho phiên làm việc hiện tại.

[Environment]::SetEnvironmentVariable("API_URL", "value", "User")

Đặt biến môi trường vĩnh viễn cho người dùng của bạn.

Get-ChildItem | ForEach-Object { $_.Name.ToUpper() }

Chạy mã cho từng mục trong pipeline ($_ là mục hiện tại).

Get-ChildItem | Where-Object Length -gt 10MB

Lọc đối tượng theo một thuộc tính — ở đây là các file lớn hơn 10 MB.

Measure-Command { Get-Process }

Đo thời gian chạy của một lệnh.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Cho phép script cục bộ chạy với người dùng của bạn; script tải về phải có chữ ký.

try { Get-Process -ErrorAction Stop } catch { Write-Warning $_ }

Bắt lỗi — -ErrorAction Stop biến lỗi không dừng thành lỗi có thể bắt được.

Hệ thống

5
Get-ComputerInfo -Property OsName, OsVersion, CsTotalPhysicalMemory

Hiển thị phiên bản Windows và dung lượng RAM đã cài.

Get-PSDrive -PSProvider FileSystem

Hiển thị các ổ đĩa cùng dung lượng đã dùng và còn trống.

Get-WinEvent -LogName System -MaxEvents 20

Đọc các sự kiện mới nhất trong nhật ký System.

winget upgrade --all

Cập nhật tất cả ứng dụng đã cài bằng Windows Package Manager.

Restart-Computer -Force

nguy hiểm Khởi động lại máy tính ngay lập tức.

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
Bảng lệnh CMD trên WindowsFile, robocopy, findstr, tiến trình, mạng, công cụ sửa lỗi và batch script cơ bản.Bảng lệnh CMD Windows →

Cách dùng Bảng lệnh PowerShell

  1. Nhập giá trị của riêng bạn (thư mục, file, máy chủ) vào các ô ở trên cùng — mọi ví dụ trên trang sẽ cập nhật ngay lập tức.
  2. Tìm kiếm hoặc chuyển đến một mục để tìm lệnh bạn cần.
  3. Nhấn Sao chép để chép một dòng lệnh sẵn sàng chạy, hoặc Sao chép cả mục để lấy một khối lệnh có chú thích.
  4. Các lệnh được đánh dấu nguy hiểm sẽ xóa hoặc ghi đè dữ liệu — hãy đọc ghi chú trước khi chạy.

Đối tượng, không phải văn bản

Khác biệt lớn nhất so với Bash và CMD: lệnh PowerShell truyền đối tượng qua pipeline, chứ không phải các dòng văn bản. Get-Process | Where-Object CPU -gt 100 | Sort-Object CPU lọc và sắp xếp dựa trên thuộc tính thật — không cần phân tích từng cột. Get-Member cho biết đối tượng có những thuộc tính nào, còn Select-Object, Where-Object và ForEach-Object xử lý phần còn lại.

Tên Động từ-Danh từ và alias

Cmdlet được đặt tên theo dạng Động từ-Danh từ — Get-ChildItem, Set-Content, Remove-Item — nên Get-Command -Verb Get hoặc Get-Command *Service* giúp bạn tìm đúng thứ cần dùng. Các alias quen thuộc như ls, cd, cat và rm ánh xạ tới các cmdlet này, nhưng tham số của chúng là của PowerShell, không phải tùy chọn kiểu Unix.

Windows PowerShell 5.1 so với PowerShell 7

Windows đi kèm Windows PowerShell 5.1 (powershell.exe). PowerShell 7 (pwsh) là phiên bản kế nhiệm đa nền tảng cho Windows, macOS và Linux, với các toán tử && và ||, toán tử ba ngôi và hiệu năng tốt hơn. Mọi thứ trên trang này đều chạy được trên cả hai trừ khi có ghi chú. Bạn có thể so sánh với bảng lệnh CMD và bảng lệnh Linux.

Cũng được tìm dưới tên: lệnh powershell, danh sách lệnh powershell, powershell grep, powershell tail, ví dụ powershell, lệnh powershell windows.

Các công cụ dùng kèm tốt với Bảng lệnh PowerShell

  • Bảng lệnh Git — Mọi lệnh Git bạn dùng hằng ngày, và cả những lệnh cần khi có sự cố, được giải thích trong một dòng.
  • Chuyển đổi đường dẫn Windows — Dán đường dẫn ở bất kỳ định dạng nào, ví dụ C:\Users\me\project, /mnt/c/Users/me/project hoặc /c/Users/me, rồi nhận ngay các dạng còn lại, sẵn sàng để sao chép: WSL, Git Bash, Cygwin, URL file, UNC và dạng đã escape cho code.
  • Chuyển đổi Line Ending — Xem file đang dùng kiểu line ending nào và chuyển đổi — từ Windows CRLF sang Unix LF hoặc ngược lại — cho đoạn văn bản bạn dán vào hoặc cả loạt file, kèm tùy chọn dọn khoảng trắng cuối dòng và tab.
  • Bảng lệnh Docker — Các lệnh Docker và Docker Compose bạn dùng mỗi tuần, giải thích trong một dòng.

Câu hỏi thường gặp

Lệnh tương đương grep trong PowerShell là gì?
Select-String. Ví dụ Select-String -Path *.log -Pattern "error", hoặc đưa kết quả vào qua pipe: Get-Content app.log | Select-String error.
Làm sao theo dõi file log giống tail -f?
Get-Content app.log -Tail 50 -Wait hiển thị 50 dòng cuối và tiếp tục in các dòng mới.
Vì sao script của tôi không chạy?
Chính sách thực thi (execution policy) mặc định chặn script. Chạy Set-ExecutionPolicy RemoteSigned -Scope CurrentUser để cho phép script của riêng bạn.
Tôi có thể cài Bảng lệnh PowerShell như một ứng dụng web và dùng khi không có mạng không?
Có. Bảng lệnh PowerShell là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan