- 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.
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.
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.
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
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.
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.
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.
Penulis yang bersemangat tentang dunia bait dan teknologi secara umum. Saya suka berkongsi pengetahuan saya melalui penulisan, dan itulah yang akan saya lakukan dalam blog ini, menunjukkan kepada anda semua perkara yang paling menarik tentang alat, perisian, perkakasan, trend teknologi dan banyak lagi. Matlamat saya adalah untuk membantu anda mengemudi dunia digital dengan cara yang mudah dan menghiburkan.