Bagikan melalui


Add-History

Menambahkan entri ke riwayat sesi.

Sintaks

Add-History
   [[-InputObject] <PSObject[]>]
   [-PassThru]
   [<CommonParameters>]

Deskripsi

Add-History Cmdlet menambahkan entri ke akhir riwayat sesi, yaitu daftar perintah yang dimasukkan selama sesi saat ini.

Riwayat sesi adalah daftar perintah yang dimasukkan selama sesi. Riwayat sesi mewakili urutan eksekusi, status, dan waktu mulai dan berakhir perintah. Saat Anda memasukkan setiap perintah, PowerShell menambahkannya ke riwayat sehingga Anda dapat menggunakannya kembali. Untuk informasi selengkapnya tentang riwayat sesi, lihat about_History.

Riwayat sesi dikelola secara terpisah dari riwayat yang dikelola oleh modul PSReadLine . Kedua riwayat tersedia dalam sesi tempat PSReadLine dimuat. Cmdlet ini hanya berfungsi dengan riwayat sesi. Untuk informasi selengkapnya lihat, about_PSReadLine.

Anda dapat menggunakan Get-History cmdlet untuk mendapatkan perintah dan meneruskannya ke Add-History, atau Anda dapat mengekspor perintah ke file CSV atau XML, lalu mengimpor perintah, dan meneruskan file yang diimpor ke Add-History. Anda dapat menggunakan cmdlet ini untuk menambahkan perintah tertentu ke riwayat atau untuk membuat satu file riwayat yang menyertakan perintah dari lebih dari satu sesi.

Contoh

Contoh 1: Menambahkan perintah ke riwayat sesi yang berbeda

Contoh ini menambahkan perintah yang ditik dalam satu sesi PowerShell ke riwayat sesi PowerShell yang berbeda.

Get-History | Export-Csv -Path C:\testing\history.csv -IncludeTypeInformation
Import-Csv -Path C:\testing\history.csv | Add-History

Perintah pertama mendapatkan objek yang mewakili perintah dalam riwayat dan mengekspornya ke History.csv file.

Perintah kedua ditik pada baris perintah sesi yang berbeda. Ini menggunakan Import-Csv cmdlet untuk mengimpor objek dalam History.csv file. Operator alur (|) meneruskan objek ke Add-History cmdlet, yang menambahkan objek yang mewakili perintah dalam History.csv file ke riwayat sesi saat ini.

Contoh 2: Mengimpor dan menjalankan perintah

Contoh ini mengimpor perintah dari History.xml file, menambahkannya ke riwayat sesi saat ini, lalu menjalankan perintah dalam riwayat gabungan.

Import-Clixml -Path C:\temp\history.xml | Add-History -PassThru | ForEach-Object -Process {Invoke-History}

Perintah pertama menggunakan Import-Clixml cmdlet untuk mengimpor riwayat perintah yang diekspor ke History.xml file. Operator alur meneruskan perintah ke Add-History cmdlet, yang menambahkan perintah ke riwayat sesi saat ini. Parameter PassThru meneruskan objek yang mewakili perintah yang ditambahkan ke alur.

Perintah kemudian menggunakan ForEach-Object cmdlet untuk menerapkan Invoke-History perintah ke setiap perintah dalam riwayat gabungan. Perintah Invoke-History diformat sebagai blok skrip, diapit kurung kurawal ({}), seperti yang diperlukan oleh parameter ForEach-Object Proses cmdlet.

Contoh 3: Menambahkan perintah dalam riwayat ke akhir riwayat

Contoh ini menambahkan lima perintah pertama dalam riwayat ke akhir daftar riwayat.

Get-History -Id 5 -Count 5 | Add-History

Get-History Cmdlet mendapatkan lima perintah yang berakhiran perintah 5. Operator alur meneruskannya ke Add-History cmdlet, yang menambahkannya ke riwayat saat ini. Perintah Add-History tidak menyertakan parameter apa pun, tetapi PowerShell mengaitkan objek yang diteruskan melalui alur dengan parameter InputObject dari Add-History.

Contoh 4: Menambahkan perintah dalam file .csv ke riwayat saat ini

Contoh ini menambahkan perintah dalam History.csv file ke riwayat sesi saat ini.

$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru

Import-Csv Cmdlet mengimpor perintah dalam History.csv file dan menyimpan kontennya dalam variabel $a.

Perintah kedua menggunakan Add-History cmdlet untuk menambahkan perintah dari History.csv ke riwayat sesi saat ini. Ini menggunakan parameter InputObject untuk menentukan $a variabel dan parameter PassThru untuk menghasilkan objek untuk ditampilkan di baris perintah. Tanpa parameter PassThru, Add-History cmdlet tidak menghasilkan output apa pun.

Contoh 5: Menambahkan perintah dalam file .xml ke riwayat saat ini

Contoh ini menambahkan perintah dalam file ke history.xml riwayat sesi saat ini.

Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)

Parameter InputObject meneruskan hasil perintah dalam tanda kurung ke Add-History cmdlet. Perintah dalam tanda kurung, yang dijalankan terlebih dahulu, mengimpor file ke history.xml PowerShell. Add-History Cmdlet kemudian menambahkan perintah dalam file ke riwayat sesi.

Parameter

-InputObject

Menentukan array entri untuk ditambahkan ke riwayat sebagai objek HistoryInfo ke riwayat sesi. Anda dapat menggunakan parameter ini untuk mengirimkan objek HistoryInfo , seperti yang dikembalikan oleh Get-Historycmdlet , , Import-Clixmlatau Import-Csv , ke Add-History.

Jenis:PSObject[]
Position:0
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-PassThru

Menunjukkan bahwa cmdlet ini mengembalikan objek HistoryInfo untuk setiap entri riwayat. Secara default, cmdlet ini tidak menghasilkan output apa pun.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

Input

HistoryInfo

Anda dapat menyalurkan objek HistoryInfo ke cmdlet ini.

Output

None

Secara default, cmdlet ini tidak mengembalikan output.

HistoryInfo

Saat Anda menggunakan parameter PassThru , cmdlet ini mengembalikan objek HistoryInfo .

Catatan

Riwayat sesi adalah daftar perintah yang dimasukkan selama sesi bersama dengan ID. Riwayat sesi mewakili urutan eksekusi, status, dan waktu mulai dan berakhir perintah. Saat Anda memasukkan setiap perintah, PowerShell menambahkannya ke riwayat sehingga Anda dapat menggunakannya kembali. Untuk informasi selengkapnya tentang riwayat sesi, lihat about_History.

Untuk menentukan perintah yang akan ditambahkan ke riwayat, gunakan parameter InputObject . Add-History Perintah hanya menerima objek HistoryInfo, seperti yang dikembalikan untuk setiap perintah oleh Get-History cmdlet. Anda tidak dapat meneruskannya jalur dan nama file atau daftar perintah.

Anda dapat menggunakan parameter InputObject untuk meneruskan file objek HistoryInfo ke Add-History. Untuk melakukannya, ekspor hasil Get-History perintah ke file dengan menggunakan Export-Csv cmdlet atau Export-Clixml lalu impor file dengan menggunakan Import-Csv cmdlet atau Import-Clixml . Anda kemudian dapat meneruskan file objek HistoryInfo yang diimpor melalui Add-History alur atau dalam variabel. Untuk informasi selengkapnya, lihat contoh.

File objek HistoryInfo yang Anda teruskan ke Add-History cmdlet harus menyertakan informasi jenis, judul kolom, dan semua properti objek HistoryInfo . Jika Anda ingin meneruskan objek kembali ke Add-History, jangan gunakan parameter NoTypeInformation cmdlet Export-Csv dan jangan hapus informasi jenis, judul kolom, atau bidang apa pun dalam file.

Untuk mengubah riwayat sesi, ekspor sesi ke file CSV atau XML, ubah file, impor file, dan gunakan Add-History untuk menambahkannya ke riwayat sesi saat ini.