PowerShell là công cụ quản trị hệ thống mạnh mẽ trên Windows, ghi lại mọi lệnh bạn thực thi trong phiên làm việc. Tuy nhiên, khi cần bảo mật hoặc làm sạch giao diện làm việc, lệnh Clear-History PowerShell là giải pháp bạn cần. Bài viết này sẽ hướng dẫn chi tiết từ cú pháp cơ bản đến các tình huống nâng cao, giúp bạn kiểm soát hoàn toàn lịch sử lệnh PowerShell.
Lệnh Clear-History PowerShell là gì?

Clear-History là một cmdlet trong PowerShell cho phép xóa toàn bộ hoặc một phần lịch sử các lệnh đã nhập trong phiên làm việc hiện tại. Lịch sử lệnh được lưu trữ tạm thời và có thể được truy xuất bằng cmdlet Get-History. Khi bạn sử dụng lệnh clear-history powershell, tất cả các mục nhập trong bộ đệm lịch sử sẽ bị xóa, giúp phiên làm việc sạch sẽ và tránh lộ thông tin nhạy cảm.
Cú pháp cơ bản của lệnh Clear-History

Để sử dụng lệnh này, bạn chỉ cần gõ Clear-History trong cửa sổ PowerShell và nhấn Enter. Đây là cách nhanh nhất để xóa toàn bộ lịch sử lệnh. Cú pháp đầy đủ như sau:
Clear-History [[-Id] <Int32[]>] [[-Count] <Int32>] [-Newest] [-WhatIf] [-Confirm] [<CommonParameters>]
Các tham số này cho phép bạn kiểm soát chi tiết những mục nào bị xóa, thay vì xóa toàn bộ.
Hướng dẫn sử dụng lệnh Clear-History chi tiết

Xóa toàn bộ lịch sử lệnh
Cách đơn giản nhất: mở PowerShell và gõ Clear-History. Không cần tham số nào, lệnh sẽ xóa tất cả lệnh đã nhập trong phiên hiện tại. Nếu bạn muốn xác nhận trước khi xóa, thêm tham số -Confirm.
Clear-History -Confirm
Hệ thống sẽ hiển thị hộp thoại xác nhận trước khi thực hiện.
Xóa lịch sử theo ID cụ thể
Không. Lệnh này chỉ xóa lịch sử của phiên hiện tại. Để xóa vĩnh viễn, bạn cần xóa file history của PSReadLine nằm tại đường dẫn do biến $($(Get-PSReadLineOption).HistorySavePath) chỉ ra.
Làm thế nào để xóa lịch sử PowerShell vĩnh viễn?
Dùng lệnh: Remove-Item (Get-PSReadLineOption).HistorySavePath -Force. Lưu ý rằng thao tác này xóa toàn bộ lịch sử đã lưu và không thể khôi phục.
Có cách nào xóa lịch sử theo nội dung không?
Clear-History không hỗ trợ trực tiếp.
PowerShell ISE có cơ chế lịch sử riêng, không dùng chung với console. Trong ISE,
Không. Lệnh chỉ tác động đến bộ đệm lịch sử lệnh, không ảnh hưởng đến biến, module hay trạng thái phiên làm việc.
Lưu ý quan trọng khi sử dụng lệnh Clear-History

- Luôn sao lưu các lệnh quan trọng trước khi xóa, đặc biệt nếu bạn đang trong quá trình gỡ lỗi phức tạp.
- Sử dụng tham số -WhatIf để kiểm tra trước khi xóa với số lượng lớn ID.
- Đối với môi trường sản xuất, hạn chế dùng Clear-History không tham số để tránh mất dữ liệu lịch sử cần thiết cho kiểm toán.
- Kết hợp với PSReadLine để kiểm soát lịch sử toàn diện hơn, bao gồm tính năng tìm kiếm và tự động hoàn thành.
Lệnh Clear-History PowerShell là công cụ đơn giản nhưng hiệu quả để quản lý lịch sử lệnh. Bằng cách nắm vững cú pháp và các tùy chọn, bạn có thể tối ưu hóa luồng làm việc, bảo vệ thông tin và tránh những rủi ro không đáng có. Hãy thực hành ngay trên máy tính của bạn để thành thạo thao tác này.







