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 một giao diện dòng lệnh tương tác. Được Microsoft phát triển ban đầu để hỗ trợ các chuyên gia IT cấu hình hệ thống và tự động hóa tác vụ, PowerShell giờ đây đã trở thành công cụ không thể thiếu cho bất kỳ ai sử dụng Windows muốn xử lý các công việc lặp đi lặp lại một cách hiệu quả. Thậm chí, nó còn cho phép bạn thực hiện những điều vượt xa khả năng của các ứng dụng đồ họa (GUI) thông thường. Tuy nhiên, việc làm quen với một ngôn ngữ kịch bản mới có thể hơi khó khăn lúc ban đầu. Để giúp bạn dễ dàng hơn, dưới đây là danh sách 7 lệnh PowerShell cơ bản và hữu ích nhất mà bạn chắc chắn sẽ thường xuyên sử dụng trên hệ điều hành Windows của mình, giúp bạn tối ưu hóa công việc và giải quyết nhiều vấn đề kỹ thuật.
Giao diện Windows Terminal hiển thị các lệnh PowerShell
1. Kiểm tra Tình trạng Pin Laptop Chi Tiết
Dễ dàng hơn với PowerShell
Các dòng laptop chạy Windows đều tích hợp một tính năng báo cáo pin chi tiết, cung cấp thông tin toàn diện về tình trạng sức khỏe của pin, cho biết liệu pin cò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 sau để tạo một báo cáo định dạng HTML, báo cáo 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 được tạo ra 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ị và hành động trước khi pin gặp sự cố hoàn toàn.
Kiểm tra tình trạng pin trên Windows bằng lệnh PowerShell
Báo cáo pin Windows 11 chi tiết tạo bằng PowerShell
2. Sao Chép Tệp và Thư Mục Hiệu Quả
Tiện lợi khi xử lý nhiều loại tệp
Cmdlet (lệnh) 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ừ một vị trí này sang một vị trí khác. Lệnh này hoạt động với hệ thống tệp cục bộ, các 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
3. Di Chuyển Tệp và Thư Mục
Tương tự lệnh sao chép nhưng loại bỏ bản gốc
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ừ một vị trí này sang một vị trí khác. Lệnh này 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ẽ loại bỏ 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"
Lệnh Move-Item trong PowerShell để di chuyển file và thư mục
4. Vào BIOS Không Cần Nhấn Phím
Khởi động thẳng vào thiết lập phần cứng
Bản thân PowerShell không có một cmdlet trực tiếp nào để truy cập BIOS/UEFI. Việc truy cập 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) trong khi máy đang 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.
Chạy PowerShell với quyền quản trị viên (Administrator Privileges), 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 BIOS UEFI của ASUS hiển thị cài đặt Intel Baseline Profile
5. Chấm Dứt Tiến Trình Không Phản Hồi
Xử lý các tác vụ cứng đầu
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ở một 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 menu Start, chọn Windows PowerShell (Admin) và xác nhận mọi lời nhắc kiểm soát người dùng.
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 (Process ID) của chúng. Nếu bạn biết tên của tiến trình, bạn có thể chấm dứt nó bằng cách sử dụng cmdlet Stop-Process với cú pháp:
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ở), bạn sử dụng:
Stop-Process -Name "ProcessName" -Force
Lệnh Stop-Process trong PowerShell để dừng các tiến trình không phản hồi
6. Chạy Các Tác Vụ Dài trong Nền
PowerShell hoàn thành công việc trong khi bạn tiếp tục làm việc
Nếu bạn có một lệnh hoặc cmdlet cần khá 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 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 công việc nền, bạn sử dụng cmdlet Start-PSJob. Để kiểm tra trạng thái của các công việc của mình, chạy Get-PSJob. Lệnh này sẽ hiển thị cho bạn danh sách các công việc và trạng thái của chúng, cùng với một ID duy nhất cho mỗi công việc. Nếu bạn muốn xóa bất kỳ công việc nào bị lỗi, hãy chạy Remove-PSJob -Id n. Thay thế n bằng ID công việc thực tế mà bạn muốn xóa.
Chạy tác vụ trong nền bằng lệnh Start-PSJob của PowerShell
7. Kiểm Tra Kết Nối Mạng
Xác định xem máy chủ từ xa có thể truy cập được qua mạng khô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 sẽ 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 một đị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ở hay 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 một địa chỉ IP hay không.
Sử dụng lệnh Test-Connection trong PowerShell để kiểm tra kết nối mạng
PowerShell có thể giúp bạn tiết kiệm thời gian đáng kể
Mặc dù bạn có thể cảm thấy PowerShell hơi thách thức khi mới bắt đầu, nhưng một khi đã thành thạo ngôn ngữ kịch bản này, nó có thể giúp bạn tiết kiệm được rất nhiều thời gian và công sức trong việc quản lý hệ thống Windows của mình. Từ việc kiểm tra sức khỏe pin, quản lý tệp tin, đến khắc phục sự cố mạng và kiểm soát các tiến trình, PowerShell mở ra vô vàn khả năng tự động hóa và tinh chỉnh. Hãy thử áp dụng các lệnh đã được giới thiệu trong bài viết này để bắt đầu hành trình làm chủ PowerShell và biến việc quản lý Windows trở nên đơn giản, hiệu quả hơn bao giờ hết.
Bạn có biết thêm lệnh PowerShell hữu ích nào khác mà chúng tôi chưa đề cập không? Hãy chia sẻ ý kiến và kinh nghiệm của bạn trong phần bình luận bên dưới để cộng đồng congnghe360.net cùng học hỏi nhé!