Homepage » come » Come utilizzare la cronologia dei comandi in Windows PowerShell

    Come utilizzare la cronologia dei comandi in Windows PowerShell

    Windows PowerShell ha una funzione di cronologia dei comandi integrata che fornisce informazioni dettagliate sui comandi eseguiti. Come il prompt dei comandi, PowerShell memorizza solo la cronologia dei comandi per la sessione corrente.

    Come utilizzare il buffer della riga di comando

    Tecnicamente PowerShell ha due tipi di cronologia dei comandi. Innanzitutto, c'è il buffer della riga di comando, che è in realtà parte dell'applicazione grafica di PowerShell Terminal e non fa parte dell'applicazione Windows PowerShell sottostante. Fornisce alcune funzionalità di base:

    • Freccia su: Richiama il comando precedente che hai digitato. Premere ripetutamente il tasto per scorrere la cronologia dei comandi.
    • Freccia in giù: Richiama il comando successivo che hai digitato. Premere ripetutamente il tasto per scorrere la cronologia dei comandi.
    • F8Cerca la cronologia dei comandi per un comando che corrisponde al testo sulla riga di comando corrente. Quindi, se volessi cercare un comando che inizia con "p", devi digitare "p" sulla riga di comando e poi toccare ripetutamente F8 per scorrere i comandi della cronologia che iniziano con "a".

    Per impostazione predefinita, il buffer memorizza gli ultimi 50 comandi che hai digitato. Per cambiarlo, fai clic con il pulsante destro del mouse sulla barra del titolo della finestra del prompt di PowerShell, seleziona "Proprietà" e modifica il valore di "Dimensione buffer" in Cronologia comandi.

    Come visualizzare la cronologia di PowerShell

    Windows PowerShell mantiene una cronologia dei comandi che hai digitato nella sessione corrente di PowerShell. Puoi utilizzare diversi cmdlet inclusi per visualizzare e lavorare con la tua cronologia.

    Per visualizzare la cronologia dei comandi che hai digitato, esegui il seguente cmdlet:

    Get-History

    È possibile cercare la cronologia piping l'output risultante al Select-String cmdlet e specificando il testo che si desidera cercare. Sostituisci "Esempio" nel cmdlet sottostante con il testo che vuoi cercare:

    Get-History | Select-String -Pattern "Esempio"

    Per visualizzare una cronologia dei comandi più dettagliata che visualizza lo stato di esecuzione di ciascun comando insieme alle sue ore di inizio e di fine, eseguire il seguente comando:

    Get-History | Format-List -Property *

    Di default, il Get-History cmdlet mostra solo le 32 voci di cronologia più recenti. Se si desidera visualizzare o cercare un numero maggiore di voci della cronologia, utilizzare -Contare opzione per specificare quante voci della cronologia deve mostrare PowerShell, in questo modo:

    Get-History -Count 1000 Get-History -Count 1000 | Select-String -Pattern "Esempio" Get-History -Count 1000 | Format-List -Property *

    Come eseguire i comandi dalla tua storia

    Per eseguire un comando dalla cronologia, utilizzare il seguente cmdlet, specificando il numero di identificazione dell'elemento della cronologia come mostrato dal Get-History cmdlet:

    Invoke-History #

    Per eseguire due comandi dalla cronologia, utilizzare Invoke-History due volte sulla stessa riga, separati da un punto e virgola. Ad esempio, per eseguire rapidamente il primo comando nella cronologia e poi il secondo, eseguirai:

    Invoke-History 1; Invoke-History 2

    Come cancellare la cronologia di PowerShell

    Per cancellare la cronologia dei comandi che hai digitato, esegui il seguente cmdlet:

    Cancellare la cronologia

    Si noti che il buffer della riga di comando è separato dalla cronologia di PowerShell. Quindi, anche dopo aver corso Cancellare la cronologia, puoi continuare a premere i tasti freccia su e giù per scorrere i comandi che hai digitato. Tuttavia, se corri Get-History, vedrai che la cronologia di PowerShell è in realtà vuota.

    PowerShell non ricorda la cronologia tra le sessioni. Per cancellare entrambe le cronologie dei comandi per la sessione corrente, tutto ciò che devi fare è chiudere la finestra di PowerShell.

    Se si desidera cancellare la finestra di PowerShell dopo aver cancellato la cronologia, è possibile farlo eseguendo il Chiaro comando:

    Chiaro

    Come salvare e importare la cronologia di PowerShell

    Se si desidera salvare la cronologia dei comandi di PowerShell per la sessione corrente in modo da poterla consultare in un secondo momento, è possibile farlo.

    Get-History | Export-Clixml -Path c: \ users \ name \ desktop \ commands.xml

    Esporta la cronologia dei comandi come un file XML dettagliato completo di valori "StartExecutionTime" e "EndExecutionTime" per ciascun comando che indica quando è stato eseguito il comando e quanto tempo è occorso per completare.

    Dopo aver esportato la cronologia di PowerShell in un file XML, puoi importare (o chiunque altro tu invii il file XML) in un'altra sessione di PowerShell con il cmdlet Add-History:

    Aggiungi-Storia -InputObject (Import-Clixml -Path C: \ users \ name \ desktop \ commands.xml)

    Se esegui il Get-History cmdlet dopo aver importato un file XML di questo tipo, vedrai che i comandi dal file XML sono stati importati nella cronologia della sessione corrente di PowerShell.