Top 10 lệnh PowerShell hữu ích nhất cho người dùng phổ thông

Sử dụng PowerShell trong Windows để tự động hóa các tác vụ, khắc phục sự cố thiết bị và mở rộng chức năng của Windows. Luôn kiểm tra hoặc xác minh các script trước khi chạy, và chỉ nới lỏng các hạn chế đối với mã đáng tin cậy. Dùng các lệnh Show-Command, Get-Help và Get-Command để tìm hiểu về các cmdlet của PowerShell.
Việc viết script thường được xem là công việc chỉ dành cho quản trị viên IT, nhưng người dùng cá nhân cũng có thể hưởng lợi từ việc tự động hóa bằng dòng lệnh. Dưới đây là 10 lệnh PowerShell bạn có thể dùng để viết script nhằm giảm bớt khối lượng công việc, khắc phục vấn đề và khám phá các chức năng mới.
Xem thêm: Hướng dẫn cách cài đặt Duck.ai (DuckDuckGo) dưới dạng ứng dụng trên Windows 11, 10
1. Không bao giờ tin tưởng một script bạn tìm thấy trên mạng
Điều hiển nhiên là bạn nên kiểm tra xem một script (hoặc một đoạn mã) thực sự làm gì trước khi chạy nó — những kẻ chơi khăm trên Internet thường đăng những đoạn code trông có vẻ hữu ích (nhưng thực chất lại độc hại), biết rằng ai đó có thể vô tình chạy chúng.
Có một rủi ro an ninh mạng nghiêm trọng nếu đoạn code đó thực hiện những việc như xóa tệp của bạn hoặc đánh cắp thông tin tài chính. Việc tra cứu chức năng của từng lệnh trong một script là cần thiết, hoặc nếu đó là một mớ hỗn độn khó hiểu, bạn có thể dùng ChatGPT để gỡ rối và khám phá mục đích của chúng. Bạn thậm chí có thể nhờ nó giúp viết các script PowerShell cho bạn (tương tự như cách bạn làm với các công thức Excel).
Trước khi bắt đầu, bạn cần mở PowerShell trên thiết bị Windows của mình hoặc tạo một script PowerShell để chạy. Nắm vững thuật ngữ cũng rất hữu ích — trong cách nói của PowerShell, một cmdlet là một từ khác để chỉ một lệnh (trong trường hợp này, một lệnh thực hiện một tác vụ cụ thể duy nhất).
2. Test-NetConnection giúp bạn khắc phục sự cố kết nối
Viết tắt là tnc, Test-NetConnection hiển thị thông tin chẩn đoán về kết nối đến một thiết bị mạng khác. Điều này rất tiện lợi để khắc phục sự cố kết nối đến router của bạn (để đảm bảo bạn có kết nối tốt nhất cho phiên chơi game tiếp theo), máy in không dây hoặc hộp NAS.
Bạn có thể chạy lệnh sau: tnc -computername <địa chỉ máy tính> -port <cổng>
Ngoài ra, chạy tnc -InformationLevel “Detailed”
để biết thêm thông tin chi tiết.
Các lệnh Get-NetIPConfiguration và Get-NetIPAddress cũng sẽ hiển thị thông tin hữu ích về các kết nối mạng hiện tại của bạn.
3. Restart-Computer và Stop-Computer thực hiện đúng như tên gọi
Những lệnh này làm đúng như tên gọi của chúng. Tưởng chừng đơn giản, nhưng chúng cực kỳ hữu ích để thêm vào một script cập nhật phần mềm hoặc driver, hoặc thêm vào màn hình desktop nếu bạn thường xuyên cần khởi động lại thiết bị và thấy việc dùng tổ hợp phím Ctrl+Alt+Del bất tiện.
Chỉ cần chạy Restart-Computer -force
hoặc Stop-Computer -force
và xem màn hình của bạn nhanh chóng tắt.
4. Hiểu rõ các cmdlet với Get-Help, Get-Command và Get-Member
Tài liệu luôn trong tầm tay bạn! Hầu hết các cmdlet của PowerShell có thể được mô tả bằng lệnh Get-Help, lệnh này sẽ hiển thị thông tin về một lệnh. Chỉ cần chạy Get-Help <TênLệnh>
hoặc Get-Help -examples
để xem một vài ví dụ.
Đối với Get-Command và Get-Member, bạn cũng có thể dùng Get-Help để tự mình khám phá chúng.
5. Học PowerShell với Show-Command
Đặt Show-Command ở phía trước bất kỳ lệnh nào khác, bạn sẽ nhận được một giao diện đồ họa với tất cả các tham số có sẵn, và có thể chạy lệnh đó ngay từ giao diện này. Nếu chạy độc lập, nó sẽ hiển thị tất cả các lệnh có sẵn. Nó giống như một phiên bản nâng cấp của Get-Help, nếu bạn không ngại thoát khỏi giao diện dòng lệnh một chút.
6. Xóa các tác vụ in bị kẹt với Stop-Service và Start-Service
Windows và máy in chưa bao giờ là một “cặp trời sinh”, và ngay cả các chuyên gia IT cũng đã dành vô số giờ để khắc phục những sự cố đơn giản.
PowerShell có thể giúp ích ở đây. Dùng Stop-Service và Start-Service trong một script để dừng printer spooler (dịch vụ của Windows quản lý các tác vụ in), kết hợp với Remove-Item (để xóa các tệp, trong trường hợp này là các tác vụ in đang chờ) và hy vọng rằng nó sẽ giải quyết bất kỳ sự cố khó hiểu nào đang ngăn bạn in.
Stop-Service spooler Remove-Item -recurse -force C:\Windows\System32\Spool\PRINTERS* Start-Service spooler
Hãy lưu ý cờ -recurse
trong lệnh Remove-Item. Đây là lý do tại sao việc đọc cẩn thận tất cả các lệnh và kiểm tra tất cả các đường dẫn là rất quan trọng, vì việc chạy một lệnh xóa đệ quy trên một thư mục sai có thể phá hủy hệ thống của bạn hoặc xóa dữ liệu quý giá.
7. Chạy các script PowerShell của riêng bạn với Set-ExecutionPolicy
Nếu bạn cố gắng chạy một script PowerShell, ngay cả script do chính bạn viết, nó rất có thể sẽ bị chặn bởi chính sách thực thi mặc định, chỉ cho phép các script được ký bằng mật mã bởi các nhà phát triển đã biết. Set-ExecutionPolicy sẽ ghi đè điều này, và chạy Set-ExecutionPolicy Bypass Process -Force
sẽ cho phép bạn chạy bất kỳ script nào trong phiên hiện tại. Đảm bảo rằng chúng đáng tin cậy.
8. Cho máy tính của bạn “lên tiếng” với SAPI.SpVoice
SAPI.SpVoice mang tính năng chuyển văn bản thành giọng nói đến với dòng lệnh. Bạn có thể làm những việc hữu ích như đọc thông báo email, hoặc khiến bản thân bực mình bằng cách cho PC đọc các tác vụ in thất bại, hoặc chỉ để chọc tức đồng nghiệp của bạn. Kết hợp nó với Invoke-RestMethod để lấy một sự thật ngẫu nhiên và đọc nó ra:
( New-Object -com SAPI.SpVoice ).speak(( Invoke-RestMethod -Uri 'https://uselessfacts.jsph.pl/api/v2/facts/random' ).text )
9. Sao chép tệp với Copy-Item
Cú pháp cực kỳ đơn giản để thực hiện việc sao chép tệp đơn giản với Copy-Item!
Copy-Item
Bài viết cũng giới thiệu robocopy cho bất kỳ tác vụ sao chép nào phức tạp hơn cơ bản.
robocopy /MIR /R:5
10. Xem toàn bộ nội dung của một thư mục (và thư mục con) bằng Get-ChildItem
Get-ChildItem lấy tất cả các tệp trong một thư mục và có thể được chạy đệ quy. Ví dụ, đây là cách để liệt kê các tệp trong thư mục hiện tại và các thư mục con của nó theo kích thước:
Get-ChildItem -Recurse | Sort-Object Length -Descending | Select-Object FullName, Length -First 10
11. Giám sát hiệu suất với Get-Process
Nếu bạn không muốn luôn mở Task Manager, bạn có thể chạy Get-Process để xem nhanh máy tính Windows của bạn đang làm gì.
Get-Process | Sort CPU -Descending | Select -First 5 Name,Id,CPU,WS
Lệnh PowerShell trên sử dụng các ký tự pipe (ký tự thanh dọc trông như thế này |
) để chuyển đầu ra từ một lệnh sang lệnh khác, cho phép bạn xâu chuỗi chúng lại với nhau.
12. Kết luận
Bạn mới chỉ bắt đầu hành trình viết script của mình. Hầu hết các trường hợp sử dụng này khá đơn giản, nhưng sức mạnh thực sự của việc viết script nằm ở việc giải quyết các vấn đề độc đáo của riêng bạn mà giao diện người dùng của hệ điều hành chưa hỗ trợ.
Điều quan trọng không phải là những lệnh cụ thể nào hữu ích nhất cho người dùng thông thường, mà là những lệnh nào bạn có thể tìm thấy để làm những việc bạn muốn làm (một lần nữa, Show-Command là một khởi đầu tốt để xem những lệnh nào có sẵn cho bạn). Kết hợp với Task Scheduler, bạn có thể lập script cho các tác vụ bảo trì hoặc sao lưu hệ thống hàng ngày, và sau đó đặt chúng chạy vào một thời điểm thuận tiện.
Nếu bạn muốn tự động hóa vượt ra ngoài giới hạn của thiết bị, IFTT hoạt động trên thiết bị di động của bạn và cũng có thể tương tác với nhiều dịch vụ web.
Xem thêm: Hướng dẫn cách thay đổi cài đặt thùng rác (Recycle Bin) trên Windows 11 và Windows 10
COHOTECH là chuyên trang công nghệ uy tín, luôn cập nhật những đánh giá khách quan và chuyên sâu về các sản phẩm công nghệ mới nhất. Bằng cách khám phá những công cụ mạnh mẽ như PowerShell, bạn có thể nâng cao hiệu suất làm việc và giải quyết các vấn đề kỹ thuật một cách hiệu quả hơn.
Việc khám phá các lệnh PowerShell chắc chắn sẽ mang lại nhiều lợi ích. Nếu có thắc mắc hoặc muốn trao đổi thêm về các chủ đề công nghệ, độc giả có thể để lại bình luận phía dưới.