Add-History
Aggiunge voci alla cronologia della sessione.
Sintassi
Add-History
[[-InputObject] <PSObject[]>]
[-PassThru]
[<CommonParameters>]
Descrizione
Il cmdlet Add-History
aggiunge voci alla fine della cronologia della sessione, ovvero l'elenco dei comandi immessi durante la sessione corrente.
La cronologia delle sessioni è un elenco dei comandi immessi durante la sessione. La cronologia della sessione rappresenta l'ordine di esecuzione, lo stato e l'ora di inizio e 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 di 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 cmdlet Get-History
per ottenere i comandi e passarli a Add-History
oppure è possibile 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ù di una sessione.
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 ed esportali nel file History.csv
.
Il secondo comando viene digitato nella riga di comando di una sessione diversa. Usa il cmdlet Import-Csv
per importare gli oggetti nel file di History.csv
. L'operatore pipeline (|
) passa gli oggetti al cmdlet Add-History
, che aggiunge gli oggetti che rappresentano i comandi nel file History.csv
alla cronologia sessione corrente.
Esempio 2: Importare ed eseguire comandi
Questo esempio importa i comandi dal file History.xml
, 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 cmdlet Import-Clixml
per importare una cronologia dei comandi esportata nel file History.xml
. L'operatore pipeline passa i comandi al cmdlet Add-History
, 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 cmdlet ForEach-Object
per applicare il comando Invoke-History
a ognuno dei comandi nella cronologia combinata. Il comando Invoke-History
è formattato come blocco di script, racchiuso tra parentesi graffe ({}
), come richiesto dal parametro process del cmdlet ForEach-Object
.
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 cmdlet Get-History
ottiene i cinque comandi che terminano con il comando 5. L'operatore della pipeline li passa al cmdlet Add-History
, che li aggiunge alla cronologia corrente. Il comando Add-History
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 file History.csv
alla cronologia sessione corrente.
$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru
Il cmdlet Import-Csv
importa i comandi nel file History.csv
e ne archivia il contenuto nella variabile $a
.
Il secondo comando usa il cmdlet Add-History
per aggiungere i comandi da History.csv
alla cronologia sessione corrente. Usa il parametro InputObject per specificare la variabile $a
e il parametro PassThru per generare un oggetto da visualizzare nella riga di comando. Senza il parametro PassThru, il cmdlet Add-History
non genera alcun output.
Esempio 5: Aggiungere comandi in un file .xml alla cronologia corrente
Questo esempio aggiunge i comandi nel file history.xml
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 cmdlet Add-History
. Il comando tra parentesi, che viene eseguito per primo, importa il file history.xml
in PowerShell. Il cmdlet Add-History
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 delle sessioni.
È possibile usare questo parametro per inviare un oggetto HistoryInfo, ad esempio quelli restituiti dai cmdlet Get-History
, 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, questo 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. La cronologia della sessione rappresenta l'ordine di esecuzione, lo stato e l'ora di inizio e 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 comando Add-History
accetta solo oggetti HistoryInfo, ad esempio quelli restituiti per ogni comando dal cmdlet Get-History
. Non è possibile passare un percorso e un nome di 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 comando Get-History
in un file usando il cmdlet Export-Csv
o Export-Clixml
e quindi importare il file usando i cmdlet Import-Csv
o Import-Clixml
. È quindi possibile passare il file degli oggetti historyInfo importati aAdd-History
tramite una pipeline o in una variabile. Per altre informazioni, vedere gli esempi.
Il file di oggetti HistoryInfo passati al cmdlet Add-History
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 cmdlet Export-Csv
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 usare Add-History
per aggiungerla alla cronologia sessione corrente.