Cara melihat, mencari dan mengosongkan sejarah arahan dalam PowerShell dan CMD

Kemaskini terakhir: 14/08/2025
Pengarang Ishak
  • PowerShell Menggabungkan sejarah sesi dan PSReadLine untuk kegigihan dan carian merentas sesi lanjutan.
  • Urus PowerShell dengan Get/Invoke/Add/Clear-History, pintasan (F7, F8, F9, Ctrl+R/S) dan pilihan PSReadLine.
  • CMD menawarkan F7 dan doskey untuk melihat, mengeksport dan melaraskan saiz sejarah, walaupun ia hanya untuk setiap sesi.
  • Pengauditan dengan peristiwa 4688/4689 membolehkan anda melog proses dan baris arahan pada peringkat sistem.

Sejarah arahan dalam Windows

Menyemak apa yang telah kami taip dalam konsol adalah emas tulen. apabila kita mendokumentasikan, mengulangi tugasan atau membetulkan kesilapan. Dalam Windows CMD dan PowerShell wujud bersama, dan setiap satu mengendalikan sejarah arahan dengan cara yang berbeza, dengan pilihan pintasan, carian, eksport dan padam yang patut dikuasai.

Dalam panduan praktikal dan sangat lengkap ini Anda akan belajar cara melihat, mencari, mengeksport, mengimport dan memadamkan sejarah dalam PowerShell dan CMD, cara sejarah berterusan PSReadLine berfungsi, apa yang ditawarkan oleh suis Clear-History, pintasan apa yang mempercepatkan kerja anda dan cara mengaudit proses dengan acara 4688 dan 4689 jika anda memerlukan log forensik.

PowerShell lwn. CMD: Cara Sejarah Mereka Berfungsi

PowerShell dan CMD tidak bermain dalam liga yang sama apabila kita bercakap tentang sejarah. CMD hanya mengekalkan arahan untuk tempoh sesi aktif, manakala PowerShell menggabungkan sejarah sesi terbina dalam dengan sejarah berterusan yang dikekalkan oleh modul PSReadLine.

Sejarah sesi terbina dalam PowerShell Ia tidak menentu dan dikosongkan apabila konsol ditutup; ia disoal dengan Get-History dan diurus dengan cmdlet seperti Invoke-History, Add-History atau Clear-History. Secara lalai, pembolehubah $MaximumHistoryCount mengehadkan bilangan entri dan biasanya ditetapkan kepada 4096.

PSReadLine menyimpan fail sejarah bagi setiap pengguna dan hos, dan mengekalkan sejarah antara sesi. Fail ini, tersedia sejak PowerShell 5.0, membolehkan anda menavigasi dengan anak panah atas dan bawah serta melakukan carian tambahan menggunakan pintasan papan kekunci.

Lihat dan sejarah carian dalam PowerShell

Get-History ialah pintu masuk ke sejarah sesi. Memaparkan ID, baris arahan dan perintah pelaksanaan; aliasnya ialah 'h'. Walau bagaimanapun, ia hanya menggambarkan peristiwa dalam sesi semasa, bukan fail PSReadLine yang berterusan.

Get-History

The pintasan papan kekunci pada konsol menjimatkan masa: Anak panah ke atas untuk arahan sebelumnya, Anak panah ke bawah untuk yang seterusnya, F7 untuk menyenaraikan dalam tetingkap, ESC untuk menutup, F8 untuk mencari mengikut awalan (taip dan tekan F8) dan F9 untuk melaksanakan mengikut ID.

  8 Program Penting untuk PC

Carian terbalik, sangat bergunaCtrl+R mencari ke belakang dalam sejarah dengan menaip sebahagian daripada arahan dan Ctrl+S mencari ke hadapan. PSReadLine juga membolehkan anda mencari dengan '#string' dan melompat antara padanan dengan menekan Tab.

Susunan sejarah mungkin kelihatan pelik: PowerShell menambah arahan apabila ia selesai, bukan apabila anda menaipnya, dan dalam gesaan bersarang sesetengahnya tidak dilog sehingga anda kembali ke tahap sebelumnya, yang boleh mengelirukan semasa jangka masa panjang.

Sejarah berterusan dengan PSReadLine

PSReadLine mengekalkan rekod kekal dalam fail teks bagi setiap pengguna dan hos, memastikan arahan sebelumnya boleh dipulihkan selepas menutup dan membuka semula PowerShell.

%userprofile%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt

Tingkah lakunya boleh ditanya dan diubah suai dengan Get-PSReadLineOption dan Set-PSReadLineOptionIni membolehkan anda mengkonfigurasi aspek seperti pendua, kepekaan huruf besar, laluan dan gaya simpan, antara pilihan lain.

Get-PSReadLineOption | Select HistoryNoDuplicates, MaximumHistoryCount, HistorySearchCursorMovesToEnd, HistorySearchCaseSensitive, HistorySavePath, HistorySaveStyle

Pilihan utama untuk dipertimbangkan:

  • HistoryNoDuplicates: mengelakkan entri pendua, mengurangkan pendua
  • MaximumHistoryCount: Mengawal bilangan maksimum perintah yang disimpan
  • HistorySearchCursorMovesToEnd: Melaraskan kedudukan kursor dalam carian
  • HistorySearchCaseSensitive: melakukan carian sensitif huruf besar-besaran
  • HistorySavePath: Mentakrifkan laluan ke fail sejarah
  • HistorySaveStyle: Menentukan apabila sejarah disimpan, pilihan termasuk SaveIncrementally, SaveAtExit dan SaveNothing

Ia boleh disesuaikan menggunakan Set-PSReadLineOption. Sebagai contoh, untuk menyimpan hanya pada keluar dan mengurangkan penulisan cakera:

Set-PSReadLineOption -HistorySaveStyle SaveAtExit

Kawal juga saiz sejarah dengan $MaximumHistoryCountUntuk mengehadkannya kepada 100 arahan, laraskan pembolehubah dan mulakan semula PowerShell; untuk menjadikannya berterusan, tambahkannya pada profil PowerShell anda.

$MaximumHistoryCount = 100

Kosongkan, tapis dan urus sejarah dalam PowerShell

Clear-History mengosongkan sejarah sesi aktif, tanpa menjejaskan fail PSReadLine yang berterusan. Digunakan untuk bermula dari awal atau memadamkan entri tertentu mengikut ID, corak, kuantiti atau umur.

Sintaks utama dengan set parameter:

Clear-History  <int[]>]  <int>]    
Clear-History  <int>] >]    

Parameter yang digunakan-Id untuk dipadam dengan pengecam, -CommandLine untuk corak atau kad bebas yang tepat, -Kira bilangan entri, dan -Terbaharu untuk membalikkan susunan dan memadamkan entri terbaharu. Ia juga menyokong mod pengesahan dan simulasi dengan -WhatIf.

  Cara Menukar Atribut Fail dalam Windows

Contoh: padam semua sejarah dalam sesi aktif:

Get-History
Clear-History
Get-History

Contoh: padam 5 entri terakhir dengan -Count dan -Terbaru:

Clear-History -Count 5 -Newest
Get-History

Contoh: Alih keluar masukan yang sepadan dengan corak dengan -CommandLine:

Clear-History -CommandLine '*Help*', '*Syntax'
Get-History

Contoh: padam mengikut ID tertentu:

Clear-History -Id 3, 5
Get-History

Contoh: menggabungkan -Id dan -Count Untuk memadam mengikut turutan daripada ID tertentu:

Clear-History -Id 7 -Count 5
Get-History

Ingat: -Kira dengan -Id mengalih keluar daripada Id yang disertakan, dengan -CommandLine ia mengalih keluar padanan mengikut tertib, dan secara lalai ia mengalih keluar masukan tertua, melainkan anda menggunakan -Terbaharu.

Jalankan dan muatkan arahan daripada sejarah dalam PowerShell

Invoke-History melaksanakan entri sejarah tanpa perlu menulis semula. Aliasnya ialah 'r'. Tanpa parameter, ia mengulangi arahan terakhir; dengan Id, ia melaksanakan perintah itu dengan tepat:

Invoke-History          # Repetir la última entrada
Invoke-History -Id 12   # Ejecutar la entrada 12

Anda juga boleh mengeksport dan mengimport sejarah. Untuk mendokumenkan atau berkongsi prosedur. Eksport ke CSV atau Clixml dan import semula dengan menambahkannya dengan Add-History:

Get-History | Export-Csv -Path .\historial.csv -NoTypeInformation
Get-History | Export-Clixml -Path .\historial.xml

$h = Import-Clixml .\historial.xml
$h | Add-History
PowerShell
artikel berkaitan:
Cara Menguasai Sejarah Kebolehpercayaan dalam PowerShell: Pengurusan, Pengauditan dan Analisis

Lihat dan urus sejarah dalam CMD

CMD hanya menyimpan satu sejarah semasa sesi aktifAnda boleh menavigasi dengan anak panah atas dan bawah, gunakan PgUp dan PgDn untuk menavigasi, dan tekan F7 untuk membuka tetingkap dengan semua arahan anda yang disimpan; ESC menutup tetingkap itu.

Pintasan berguna lain dalam CMD: F9 untuk meminta nombor arahan dalam senarai yang dipaparkan dan F8 untuk mencari padanan yang bermula dengan apa yang telah anda taip setakat ini pada baris.

Doskey mengembangkan keupayaan: membolehkan anda melihat sejarah penuh dengan 'doskey /history' atau menyimpannya ke fail diubah hala, cth., 'doskey /history > C:\cmd_history.txt'. Anda juga boleh melaraskan saiz memori dengan /listsize=100.

Untuk membersihkan sejarah dalam ingatan, gunakan pintasan papan kekunci Alt+F7. Jangan lupa bahawa apabila anda menutup CMD, sejarah anda hilang melainkan anda mengeksportnya sebelum ini.

Untuk mempunyai sejarah berterusan yang lebih berkuasa dalam CMD, anda boleh menggunakan alatan seperti Clink, yang meningkatkan pengurusan sejarah dan carian dengan ketara, atau Windows Terminal, yang menyepadukan berbilang konsol dan sokongan untuk PowerShell dan WSL2.

  Menyediakan persekitaran pembangunan dengan WSL pada Windows

Perintah dan proses audit dengan Pemapar Acara

Untuk kawalan menyeluruh dan berpusatAnda boleh log penciptaan proses menggunakan pengauditan lanjutan. Acara 4688 merekodkan setiap proses yang dimulakan, dengan maklumat pengguna, konteks dan baris arahan; 4689 menunjukkan penamatannya.

Aktifkan 'Penciptaan proses audit' Dalam dasar keselamatan tempatan, dalam bahagian audit lanjutan, tetapkan Kejayaan dan/atau Kegagalan mengikut pilihan anda.

Kemudian laraskan dasar dalam gpedit.msc dalam Konfigurasi Komputer > Tetapan Windows > Tetapan Keselamatan > Konfigurasi Dasar Audit Lanjutan > Dasar Audit Sistem > Penjejakan Terperinci dan dayakannya.

Untuk melihat acara ini, buka Pemapar Acara dalam Windows, navigasi ke Windows Balak > Keselamatan dan tapis mengikut ID 4688. Untuk analisis yang lebih mendalam, alatan seperti Logbinder Supercharger boleh memudahkan semakan.

Cmdlet Berguna dan Nota Sejarah dalam PowerShell

Cmdlet Sejarah Utama: Get-History (alias 'h') untuk dilihat, Invoke-History (alias 'r') untuk dilaksanakan, Add-History untuk menambah arahan dan Clear-History (alias 'clhy') untuk dipadamkan. Sejarah PowerShell dan PSReadLine wujud bersama, tetapi Clear-History hanya mempengaruhi sejarah sesi aktif.

Nota Akhir tentang Clear-History: tidak menerima input berpaip, tidak mengembalikan output, menyokong kad bebas dalam -CommandLine, dan menyokong CommonParameters seperti -Verbose dan -ErrorAction untuk kawalan tambahan.

Perintah Shell: untuk digunakan dalam bar alamat Windows 11 File Explorer
artikel berkaitan:
Perintah Shell dan CMD untuk bar alamat dalam Windows 11

Menguasai Sejarah dalam PowerShell dan CMD memudahkan perolehan semula arahan, penyahpepijatan prosedur, dokumentasi dan pengauditan. PSReadLine menyediakan ketekunan dan kuasa carian, manakala Clear-History mengawal arahan yang kekal dalam sesi, dan peristiwa 4688 dan 4689 meningkatkan pengelogan ke tahap keselamatan dan pematuhan.

Leave a comment