Windows PowerShell memiliki fitur sejarah perintah bawaan yang menyediakan informasi terperinci tentang perintah yang Anda jalankan. Seperti Command Prompt, PowerShell hanya mengingat sejarah perintah Anda untuk sesi saat ini.
PowerShell secara teknis memiliki dua jenis sejarah perintah. Pertama, ada buffer commandline, yang sebenarnya bagian dari aplikasi terminal PowerShell grafis dan bukan bagian dari aplikasi Windows PowerShell yang mendasarinya. Ini menyediakan beberapa fitur dasar:
Secara default, buffer mengingat 50 perintah terakhir yang Anda ketikkan. Untuk mengubah ini, klik kanan bilah judul jendela prompt PowerShell, pilih "Properties", dan ubah nilai "Buffer Size" di bawah Command History.
Windows PowerShell sendiri menyimpan sejarah perintah yang Anda ketikkan dalam sesi PowerShell saat ini. Anda dapat menggunakan beberapa cmdlet yang disertakan untuk melihat dan bekerja dengan riwayat Anda.
Untuk melihat sejarah perintah yang Anda ketikkan, jalankan cmdlet berikut:
Dapatkan-Sejarah
Anda dapat mencari riwayat Anda dengan mem-pipe output yang dihasilkan ke Pilih-String
cmdlet dan menentukan teks yang ingin Anda cari. Ganti "Contoh" di cmdlet di bawah dengan teks yang ingin Anda cari:
Dapatkan-Sejarah | Pilih-String -Pattern "Contoh"
Untuk melihat sejarah perintah yang lebih rinci yang menampilkan status eksekusi setiap perintah bersama dengan waktu mulai dan akhir, jalankan perintah berikut:
Dapatkan-Sejarah | Format-Daftar -Property *
Secara default, Dapatkan-Sejarah
cmdlet hanya menampilkan 32 entri riwayat terbaru. Jika Anda ingin melihat atau mencari entri sejarah dalam jumlah yang lebih banyak, gunakan -Menghitung
opsi untuk menentukan berapa banyak entri riwayat yang ditampilkan PowerShell, seperti:
Get-History -Count 1000 Get-History -Count 1000 | Pilih-String -Pattern "Contoh" Get-History -Count 1000 | Format-Daftar -Property *
Untuk menjalankan perintah dari riwayat Anda, gunakan cmdlet berikut, dengan menentukan nomor Id dari item riwayat seperti yang ditunjukkan oleh Dapatkan-Sejarah
cmdlet:
Invoke-History #
Untuk menjalankan dua perintah dari riwayat Anda kembali ke belakang, gunakan Invoke-History
dua kali pada baris yang sama, dipisahkan oleh titik koma. Misalnya, untuk menjalankan perintah pertama dengan cepat di riwayat Anda dan kemudian yang kedua, Anda akan menjalankan:
Invoke-History 1; Invoke-History 2
Untuk menghapus riwayat perintah yang Anda ketikkan, jalankan cmdlet berikut:
Clear-History
Perhatikan bahwa buffer baris perintah terpisah dari sejarah PowerShell. Jadi, bahkan setelah Anda berlari Clear-History
, Anda dapat terus menekan tombol panah atas dan bawah untuk menggulirkan perintah yang Anda ketikkan. Namun, jika Anda berlari Dapatkan-Sejarah
, Anda akan melihat bahwa sejarah PowerShell Anda sebenarnya kosong.
PowerShell tidak mengingat sejarah Anda di antara sesi. Untuk menghapus kedua histori perintah untuk sesi saat ini, yang harus Anda lakukan hanyalah menutup jendela PowerShell.
Jika Anda ingin menghapus jendela PowerShell setelah mengosongkan riwayat, Anda dapat melakukannya dengan menjalankan Bersih
perintah:
Bersih
Jika Anda ingin menyimpan riwayat perintah PowerShell untuk sesi saat ini sehingga Anda dapat merujuknya nanti, Anda dapat melakukannya.
Dapatkan-Sejarah | Ekspor-Clixml -Path c: \ users \ name \ desktop \ commands.xml
Ini mengekspor sejarah perintah Anda sebagai file XML terperinci lengkap dengan nilai "StartExecutionTime" dan "EndExecutionTime" untuk setiap perintah yang memberi tahu Anda saat perintah dijalankan dan berapa lama waktu penyelesaiannya.
Setelah Anda mengekspor riwayat PowerShell Anda ke file XML seperti itu, Anda (atau siapa pun yang Anda kirim file XML) dapat mengimpornya ke sesi PowerShell lain dengan cmdlet Add-History:
Add-History -InputObject (Import-Clixml -Path C: \ users \ name \ desktop \ commands.xml)
Jika Anda menjalankan Dapatkan-Sejarah
cmdlet setelah mengimpor file XML seperti itu, Anda akan melihat bahwa perintah dari file XML diimpor ke dalam sejarah sesi PowerShell Anda saat ini.