Add-History
Aggiunge voci alla cronologia della sessione.
Sintassi
Add-History
[[-InputObject] <PSObject[]>]
[-PassThru]
[<CommonParameters>]
Descrizione
Il Add-History
cmdlet aggiunge voci alla fine della cronologia della sessione, ovvero l'elenco dei comandi immessi durante la sessione corrente.
La cronologia della sessione è un elenco dei comandi immessi durante la sessione. Rappresenta l'ordine di esecuzione, lo stato e le ore di inizio e di fine del comando. Quando si immette ogni comando, PowerShell lo aggiunge alla cronologia in modo da poterlo riutilizzare. Per altre informazioni sulla cronologia delle sessioni, vedere about_History.
La cronologia delle sessioni viene gestita separatamente dalla cronologia gestita dal modulo PSReadLine . Entrambe le cronologie sono disponibili nelle sessioni in cui viene caricato PSReadLine . Questo cmdlet funziona solo con la cronologia delle sessioni. Per altre informazioni, vedere about_PSReadLine.
È possibile usare il Get-History
cmdlet per ottenere i comandi e passarli a Add-History
oppure esportare i comandi in un file CSV o XML, quindi importare i comandi e passare il file importato a Add-History
. È possibile usare questo cmdlet per aggiungere comandi specifici alla cronologia o per creare un singolo file di cronologia che include i comandi di più sessioni.
Esempio
Esempio 1: Aggiungere comandi alla cronologia di una sessione diversa
Questo esempio aggiunge i comandi digitati in una sessione di PowerShell alla cronologia di una sessione di PowerShell diversa.
Get-History | Export-Csv -Path C:\testing\history.csv -IncludeTypeInformation
Import-Csv -Path C:\testing\history.csv | Add-History
Il primo comando ottiene oggetti che rappresentano i comandi nella cronologia e li esporta nel History.csv
file.
Il secondo comando viene digitato nella riga di comando di un'altra sessione. Usa il Import-Csv
cmdlet per importare gli oggetti nel History.csv
file. L'operatore pipeline (|
) passa gli oggetti al Add-History
cmdlet , che aggiunge gli oggetti che rappresentano i comandi nel History.csv
file alla cronologia sessione corrente.
Esempio 2: Importare ed eseguire comandi
Questo esempio importa i comandi dal History.xml
file, li aggiunge alla cronologia sessione corrente e quindi esegue i comandi nella cronologia combinata.
Import-Clixml -Path C:\temp\history.xml | Add-History -PassThru | ForEach-Object -Process {Invoke-History}
Il primo comando usa il Import-Clixml
cmdlet per importare una cronologia dei comandi esportata nel History.xml
file. L'operatore pipeline passa i comandi al Add-History
cmdlet , che aggiunge i comandi alla cronologia sessione corrente. Il parametro PassThru passa gli oggetti che rappresentano i comandi aggiunti nella pipeline.
Il comando usa quindi il ForEach-Object
cmdlet per applicare il Invoke-History
comando a ognuno dei comandi nella cronologia combinata. Il Invoke-History
comando viene formattato come blocco di script, racchiuso tra parentesi graffe ({}
), come richiesto dal parametro Process del ForEach-Object
cmdlet.
Esempio 3: Aggiungere comandi nella cronologia alla fine della cronologia
In questo esempio vengono aggiunti i primi cinque comandi della cronologia alla fine dell'elenco di cronologia.
Get-History -Id 5 -Count 5 | Add-History
Il Get-History
cmdlet ottiene i cinque comandi che terminano con il comando 5. L'operatore pipeline li passa al Add-History
cmdlet , che li aggiunge alla cronologia corrente. Il Add-History
comando non include parametri, ma PowerShell associa gli oggetti passati attraverso la pipeline al parametro InputObject di Add-History
.
Esempio 4: Aggiungere comandi in un file .csv alla cronologia corrente
Questo esempio aggiunge i comandi nel History.csv
file alla cronologia sessione corrente.
$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru
Il Import-Csv
cmdlet importa i comandi nel History.csv
file e archivia il relativo contenuto nella variabile $a
.
Il secondo comando usa il Add-History
cmdlet per aggiungere i comandi da History.csv
alla cronologia di sessione corrente. Usa il parametro InputObject per specificare la $a
variabile e il parametro PassThru per generare un oggetto da visualizzare nella riga di comando. Senza il parametro PassThru , il Add-History
cmdlet non genera alcun output.
Esempio 5: Aggiungere comandi in un file .xml alla cronologia corrente
In questo esempio vengono aggiunti i comandi nel history.xml
file alla cronologia sessione corrente.
Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)
Il parametro InputObject passa i risultati del comando tra parentesi al Add-History
cmdlet . Il comando tra parentesi, che viene eseguito per primo, importa il history.xml
file in PowerShell. Il Add-History
cmdlet aggiunge quindi i comandi nel file alla cronologia delle sessioni.
Parametri
-InputObject
Specifica una matrice di voci da aggiungere alla cronologia come oggetto HistoryInfo alla cronologia della sessione.
È possibile usare questo parametro per inviare un oggetto HistoryInfo , ad esempio quelli restituiti dai Get-History
cmdlet , Import-Clixml
o Import-Csv
a Add-History
.
Tipo: | PSObject[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-PassThru
Indica che questo cmdlet restituisce un oggetto HistoryInfo per ogni voce di cronologia. Per impostazione predefinita, il cmdlet non genera alcun output.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe un oggetto HistoryInfo a questo cmdlet.
Output
None
Per impostazione predefinita, questo cmdlet non restituisce alcun output.
Quando si utilizza il parametro PassThru , questo cmdlet restituisce un oggetto HistoryInfo .
Note
La cronologia della sessione è un elenco dei comandi immessi durante la sessione insieme all'ID. Rappresenta l'ordine di esecuzione, lo stato e le ore di inizio e di fine del comando. Quando si immette ogni comando, PowerShell lo aggiunge alla cronologia in modo da poterlo riutilizzare. Per altre informazioni sulla cronologia delle sessioni, vedere about_History.
Per specificare i comandi da aggiungere alla cronologia, usare il parametro InputObject . Il Add-History
comando accetta solo oggetti HistoryInfo , ad esempio quelli restituiti per ogni comando dal Get-History
cmdlet . Non è possibile passare un percorso e un nome file o un elenco di comandi.
È possibile usare il parametro InputObject per passare un file di oggetti HistoryInfo a Add-History
. A tale scopo, esportare i risultati di un Get-History
comando in un file usando il Export-Csv
cmdlet o Export-Clixml
e quindi importare il file usando i Import-Csv
cmdlet o Import-Clixml
. È quindi possibile passare il file degli oggetti HistoryInfo importati a Add-History
tramite una pipeline o in una variabile. Per ulteriori informazioni, vedi gli esempi.
Il file degli oggetti HistoryInfo passati al Add-History
cmdlet deve includere le informazioni sul tipo, le intestazioni di colonna e tutte le proprietà degli oggetti HistoryInfo . Se si intende passare nuovamente gli oggetti a Add-History
, non usare il parametro NoTypeInformation del Export-Csv
cmdlet e non eliminare le informazioni sul tipo, le intestazioni di colonna o i campi nel file.
Per modificare la cronologia delle sessioni, esportare la sessione in un file CSV o XML, modificare il file, importare il file e usarlo Add-History
per aggiungerlo alla cronologia sessione corrente.