Condividi tramite


Invoke-History

Esegue i comandi dalla cronologia della sessione.

Sintassi

Invoke-History
      [[-Id] <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Descrizione

Il cmdlet Invoke-History esegue comandi dalla cronologia delle sessioni. È possibile passare oggetti che rappresentano i comandi da Get-History a Invoke-Historyoppure è possibile identificare i comandi nella cronologia corrente usando il relativo ID numero. Per trovare il numero di identificazione di un comando, usare il cmdlet Get-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.

Esempio

Esempio 1: Eseguire il comando più recente nella cronologia

In questo esempio viene eseguito l'ultimo comando, o più recente, nella cronologia delle sessioni. Puoi abbreviare questo comando come r, l'alias per Invoke-History.

Invoke-History

Esempio 2: Eseguire il comando con un ID specificato

Questo esempio esegue il comando nella cronologia della sessione con ID 132. Poiché il nome del parametro id è facoltativo, è possibile abbreviato questo comando come segue: Invoke-History 132, ihy 132o r 132.

Invoke-History -Id 132

Esempio 3: Eseguire il comando più recente usando il testo del comando

In questo esempio viene eseguito il comando di Get-Process più recente nella cronologia delle sessioni. Quando si digitano caratteri per il parametro id , Invoke-History esegue il primo comando trovato che corrisponde al modello, a partire dai comandi più recenti.

Invoke-History -Id get-pr

Nota

La corrispondenza dei modelli è insensibile alle maiuscole, ma il modello corrisponde all'inizio della riga.

Esempio 4: Eseguire una sequenza di comandi dalla cronologia

In questo esempio vengono eseguiti comandi da 16 a 24. Poiché è possibile elencare un solo valore ID, il comando usa il cmdlet ForEach-Object per eseguire il comando Invoke-History una volta per ogni valore id .

16..24 | ForEach-Object {Invoke-History -Id $_ }

Esempio 5

Questo esempio esegue i sette comandi nella cronologia che terminano con il comando 255 (da 249 a 255). Usa il cmdlet Get-History per recuperare i comandi. Poiché è possibile elencare un solo valore ID, il comando usa il cmdlet ForEach-Object per eseguire il comando Invoke-History una volta per ogni valore ID.

Get-History -Id 255 -Count 7 | ForEach-Object {Invoke-History -Id $_.Id}

Parametri

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Id

Specifica l'ID di un comando nella cronologia. È possibile digitare l'ID numero del comando o i primi caratteri del comando.

Se si digitano caratteri, Invoke-History corrisponde prima ai comandi più recenti. Se si omette questo parametro, Invoke-History esegue l'ultimo comando o più recente. Per trovare il ID numero di un comando, usare il cmdlet Get-History.

Tipo:String
Posizione:0
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-WhatIf

Mostra cosa accadrebbe se il cmdlet viene eseguito. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

String

È possibile usare una pipe per inviare una cronologia id a questo cmdlet.

Output

None

Questo cmdlet non restituisce alcun output autonomo, ma i comandi eseguiti possono restituire il proprio output.

Note

PowerShell include gli alias seguenti per Invoke-History:

  • Tutte le piattaforme:
    • ihy
    • r

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.