PowerShell là một công cụ tự động hóa mạnh mẽ và ngôn ngữ kịch bản theo hướng đối tượng, tích hợp với giao diện dòng lệnh tương tác. Được Microsoft phát triển ban đầu nhằm hỗ trợ các chuyên gia IT cấu hình hệ thống và tự động hóa tác vụ, nhưng PowerShell không chỉ dành riêng cho họ. Bất kỳ người dùng Windows nào cũng có thể tận dụng các tập lệnh PowerShell để xử lý hiệu quả các tác vụ lặp đi lặp lại, thậm chí thực hiện những công việc vượt xa khả năng của các ứng dụng đồ họa (GUI) thông thường. Mặc dù việc bắt đầu với một ngôn ngữ kịch bản mới có thể hơi khó khăn, nhưng việc nắm vững một số lệnh cơ bản sẽ là điểm khởi đầu tuyệt vời. congnghehot.net đã tổng hợp danh sách 7 lệnh PowerShell thiết yếu mà bạn sẽ thường xuyên sử dụng dưới đây.
Giao diện ứng dụng Windows Terminal trên hệ điều hành Windows
7. Kiểm Tra Sức Khỏe Pin Laptop
Dễ dàng hơn với PowerShell
Các laptop chạy Windows thường đi kèm tính năng báo cáo pin, cung cấp phân tích chi tiết về tình trạng pin, cho biết pin vẫn hoạt động tốt hay đã sắp hết tuổi thọ. Để truy cập báo cáo này, bạn chỉ cần chạy một tập lệnh PowerShell đơn giản. Mở cửa sổ Windows PowerShell với quyền quản trị viên (Administrator) và thực thi lệnh dưới đây để tạo một báo cáo HTML, tệp này sẽ được lưu tại thư mục gốc của ổ đĩa C: của bạn.
powercfg /batteryreport /output "C:battery_report.html"
Báo cáo sẽ cung cấp thông tin chi tiết, bao gồm dữ liệu sử dụng pin, lịch sử dung lượng và ước tính tuổi thọ pin. Nếu pin của bạn cần được thay thế, báo cáo sẽ thông báo trước, giúp bạn có thời gian chuẩn bị trước khi pin gặp sự cố hoàn toàn.
Lệnh Powercfg để kiểm tra và tạo báo cáo tình trạng pin laptop trên Windows 11 bằng PowerShell
Giao diện báo cáo tình trạng pin chi tiết được tạo bởi PowerShell trên Windows 11
6. Sao Chép Tệp và Thư Mục
Hữu ích khi xử lý nhiều loại tệp
Cmdlet Copy-Item trong PowerShell được sử dụng để sao chép các tệp, thư mục hoặc các đối tượng khác từ vị trí này sang vị trí khác. Nó hoạt động với hệ thống tệp cục bộ, vị trí mạng và thậm chí cả các khóa registry. Để sao chép tệp hoặc thư mục, bạn sử dụng lệnh Copy-Item theo sau là tham số nguồn -Path, tham số đích -Destination và đường dẫn đích.
Ví dụ, để sao chép một tệp duy nhất có tên File.txt từ C:Source sang D:Destination, bạn sử dụng tập lệnh sau:
Copy-Item -Path "C:SourceFile.txt" -Destination "D:DestinationFile.txt"
Để sao chép một thư mục và toàn bộ nội dung của nó, bạn sẽ cần sử dụng tập lệnh sau:
Copy-Item -Path "C:SourceFolder" -Destination "D:DestinationFolder" -Recurse
Trong lệnh trên, tham số -Recurse đảm bảo rằng tất cả các tệp và thư mục con bên trong thư mục nguồn đều được sao chép. Nếu không có tham số này, PowerShell sẽ chỉ sao chép thư mục cấp cao nhất (SourceFolder) và bất kỳ tệp nào được chỉ định rõ ràng trong lệnh.
Cú pháp lệnh Copy-Item trong PowerShell để sao chép tệp và thư mục
5. Di Chuyển Tệp và Thư Mục
Tương tự sao chép nhưng xóa nguồn
Cmdlet Move-Item trong PowerShell có thể được sử dụng để di chuyển các tệp, thư mục hoặc các đối tượng khác từ vị trí này sang vị trí khác. Nó cũng có thể được sử dụng để đổi tên các mục trong quá trình di chuyển. Không giống như Copy-Item, cmdlet này sẽ xóa mục khỏi nguồn sau khi nó được di chuyển đến đích.
Tập lệnh để di chuyển một tệp hoặc thư mục tương tự như Copy-Item. Ví dụ, để di chuyển một tệp duy nhất có tên File.txt từ C:Source sang D:Destination, bạn sử dụng tập lệnh sau:
Move-Item -Path "C:SourceFile.txt" -Destination "D:DestinationFile.txt"
Sử dụng lệnh Move-Item trong PowerShell để di chuyển tệp và thư mục
4. Truy Cập BIOS/UEFI
Bạn không cần nhấn phím khi khởi động
PowerShell bản thân không có cmdlet trực tiếp để truy cập BIOS/UEFI. Việc vào BIOS/UEFI thường yêu cầu một thao tác cấp độ phần cứng trong quá trình khởi động hệ thống, được khởi tạo bằng cách nhấn một phím cụ thể (ví dụ: F2, Del, hoặc Esc) khi máy tính khởi động. Tuy nhiên, PowerShell có thể hỗ trợ chuẩn bị hệ thống của bạn để khởi động trực tiếp vào BIOS/UEFI trong lần khởi động lại tiếp theo nếu máy tính của bạn hỗ trợ UEFI (Unified Extensible Firmware Interface).
Chạy PowerShell với quyền quản trị viên và thực thi lệnh dưới đây. Lệnh này sẽ lên lịch khởi động lại hệ thống và hướng dẫn firmware khởi động vào cài đặt BIOS/UEFI.
shutdown /r /fw
Giao diện UEFI BIOS Utility của ASUS, có thể truy cập qua lệnh PowerShell
3. Kết Thúc Tiến Trình
Khi tiến trình không phản hồi lệnh dừng
Khi bạn có một dịch vụ Windows đang chạy mà không phản hồi các lệnh dừng, bạn có thể sử dụng PowerShell để thực hiện hành động tương đương với việc kết thúc tác vụ trong Task Manager. Đầu tiên, mở cửa sổ PowerShell với quyền quản trị viên bằng cách nhấp chuột phải vào Start menu, chọn Windows PowerShell (Admin) và xác nhận bất kỳ lời nhắc kiểm soát người dùng nào.
Gõ Get-Process để hiển thị danh sách tất cả các tiến trình đang chạy, tên và PID (ID tiến trình) của chúng. Nếu bạn biết tên của tiến trình, bạn có thể kết thúc nó bằng cmdlet Stop-Process bằng cách gõ:
Stop-Process -Name "ProcessName" -Force
Nếu bạn biết ID tiến trình (PID), hãy sử dụng lệnh sau:
Stop-Process -Id PID -Force
Để dừng tất cả các phiên bản của một tiến trình cụ thể (ví dụ: nếu nhiều cửa sổ của cùng một ứng dụng đang mở), hãy sử dụng:
Stop-Process -Name "ProcessName" -Force
Lệnh Stop-Process để kết thúc các tiến trình không phản hồi trong PowerShell
2. Chạy Các Tác Vụ Dài Trong Nền
PowerShell sẽ hoàn thành trong khi bạn vẫn làm việc
Nếu bạn có một lệnh hoặc cmdlet mất nhiều thời gian để chạy, bạn có thể gửi nó vào nền trong PowerShell để nó có thể hoàn thành trong khi bạn vẫn tiếp tục làm việc. Bằng cách này, bạn có thể chạy nhiều lệnh cùng lúc và để chúng tự hoàn thành.
Để bắt đầu một tác vụ nền, sử dụng cmdlet Start-PSJob. Để kiểm tra trạng thái các tác vụ của bạn, chạy Get-PSJob. Lệnh này sẽ hiển thị cho bạn danh sách các tác vụ và trạng thái của chúng, cùng với một ID duy nhất cho mỗi tác vụ. Nếu bạn muốn xóa bất kỳ tác vụ nào đã thất bại, chạy Remove-PSJob -Id n. Thay thế n bằng ID tác vụ thực tế mà bạn muốn xóa.
Chạy các tác vụ PowerShell dài trong nền bằng lệnh Start-PSJob
1. Kiểm Tra Kết Nối Mạng
Kiểm tra xem một máy chủ từ xa có thể truy cập được qua mạng
Có một vài cách để kiểm tra kết nối mạng của bạn trong PowerShell. Cmdlet Test-Connection kiểm tra xem một máy chủ từ xa có thể truy cập được qua mạng hay không:
Test-Connection -ComputerName xyz.com
Lệnh này gửi các yêu cầu ICMP Echo đến xyz.com và hiển thị liệu nó có thể truy cập được hay không, cùng với thời gian khứ hồi tính bằng mili giây. Bạn cũng có thể thay thế URL bằng địa chỉ IP nếu cần.
Nếu bạn muốn kiểm tra xem một cổng cụ thể có mở không, hãy sử dụng:
Test-Connection -ComputerName xyz.com -Port 80
Lệnh này kiểm tra xem cổng 80 trên xyz.com có thể truy cập được hay không. Nếu có, bạn sẽ thấy TcpTestSucceeded là True. Nếu bạn bỏ qua số cổng, lệnh sẽ chỉ xác minh độ phân giải DNS — nghĩa là nó kiểm tra xem tên miền có thể được phân giải thành địa chỉ IP hay không.
Sử dụng lệnh Test-Connection để kiểm tra kết nối mạng và độ trễ từ PowerShell
PowerShell có thể giúp bạn tiết kiệm thời gian
Bạn có thể thấy PowerShell là một thử thách nếu bạn mới bắt đầu, nhưng một khi bạn học được ngôn ngữ kịch bản này, nó có thể giúp bạn tiết kiệm rất nhiều thời gian và công sức. Các lệnh PowerShell này không chỉ giúp bạn thực hiện các tác vụ hàng ngày hiệu quả hơn mà còn mở ra cánh cửa đến thế giới tự động hóa và quản trị hệ thống chuyên sâu trên Windows. Hãy bắt đầu thử nghiệm ngay hôm nay để thấy được sức mạnh mà PowerShell mang lại cho công việc của bạn.
Bạn nghĩ sao về các lệnh PowerShell hữu ích này? Hãy để lại bình luận bên dưới để chia sẻ kinh nghiệm của bạn nhé!