Hjemmeside » hvordan » Sådan bruges din kommandog History i Windows PowerShell

    Sådan bruges din kommandog History i Windows PowerShell

    Windows PowerShell har en indbygget kommandobeskedsfunktion, som indeholder detaljerede oplysninger om de kommandoer, du har kørt. Ligesom kommandoprompt husker PowerShell kun din kommandop History for den aktuelle session.

    Sådan bruges kommandolinjebufferen

    PowerShell har teknisk to typer kommandobeskrivelse. For det første er der kommandolinjebufferen, som faktisk er en del af den grafiske PowerShell-terminalapplikation og ikke en del af den underliggende Windows PowerShell-applikation. Det giver nogle grundlæggende funktioner:

    • Pil op: Husk den tidligere kommando, du skrev. Tryk på tasten gentagne gange for at gå igennem din kommandobeskrivelse.
    • Pil ned: Husk den næste kommando, du har indtastet. Tryk på tasten gentagne gange for at gå igennem din kommandobeskrivelse.
    • F8: Søg i din kommandohistorik for en kommando, der matcher teksten på den aktuelle kommandolinje. Så hvis du ønskede at søge efter en kommando, der begyndte med "p", skulle du skrive "p" på kommandolinjen og derefter gentagne gange trykke på F8 for at gennemgå kommandoer i din historie, der begynder med "a".

    Som standard husker bufferen de sidste 50 kommandoer, du har indtastet. For at ændre dette skal du højreklikke på titellinjen i PowerShell-promptvinduet, vælge "Egenskaber" og ændre værdien af ​​"Bufferstørrelse" under kommandog History.

    Sådan får du vist PowerShell History

    Windows PowerShell selv holder en historie over de kommandoer, du har skrevet i den aktuelle PowerShell-session. Du kan bruge flere medfølgende cmdlets til at se og arbejde med din historie.

    For at se historikken over de kommandoer, du har skrevet, skal du køre følgende cmdlet:

    Get-Historie

    Du kan søge i din historie ved at pipere den resulterende output til Vælg-streng cmdlet og angiver den tekst, du vil søge efter. Udskift "Eksempel" i cmdlet nedenfor med den tekst, du vil søge efter:

    Get-History | Vælg-String -Pattern "Eksempel"

    For at få vist en mere detaljeret kommandobeskrivelse, der viser udførelsesstatus for hver kommando sammen med start- og sluttiderne, skal du køre følgende kommando:

    Get-History | Format-List -Property *

    Som standard er Get-Historie cmdlet viser kun de 32 seneste historikposter. Hvis du vil se eller søge et større antal historikposter, skal du bruge -Tælle mulighed for at angive, hvor mange historikposter PowerShell skal vise, som sådan:

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

    Sådan kører du kommandoer fra din historie

    For at køre en kommando fra din historie skal du bruge følgende cmdlet og angive ID-nummeret for historikobjektet som vist af Get-Historie cmdlet:

    Invoke-History #

    Hvis du vil køre to kommandoer fra din historie tilbage til tilbage, skal du bruge Invoke-Historie to gange på samme linje adskilt af en semikolon. For eksempel kan du hurtigt køre den første kommando i din historie og derefter den anden, du kører:

    Invoke-History 1; Invoke-History 2

    Sådan slettes din PowerShell History

    For at rydde historikken over de kommandoer, du har skrevet, skal du køre følgende cmdlet:

    Clear-Historie

    Bemærk, at kommandolinjebufferen er adskilt fra PowerShell-historien. Så selv efter at du har kørt Clear-Historie, Du kan fortsætte med at trykke på pil op og ned for at rulle gennem kommandoer, du har skrevet. Men hvis du kører Get-Historie, Du kan se, at din PowerShell-historie faktisk er tom.

    PowerShell kan ikke huske din historie mellem sessioner. For at slette begge kommandohistorier for den aktuelle session er alt, hvad du skal gøre, at lukke PowerShell-vinduet.

    Hvis du vil rydde PowerShell-vinduet efter rydning af historikken, kan du gøre det ved at køre Klar kommando:

    Klar

    Sådan gemmes og importeres din PowerShell-historie

    Hvis du vil gemme PowerShell-kommandologgen for den aktuelle session, så du kan henvise til den senere, kan du gøre det.

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

    Dette eksporterer din kommandobeskrivelse som en detaljeret XML-fil komplet med "StartExecutionTime" og "EndExecutionTime" -værdier for hver kommando, der fortæller dig, hvornår kommandoen blev kørt, og hvor lang tid det tog at fuldføre.

    Når du har eksporteret din PowerShell-historie til en sådan XML-fil, kan du (eller en anden du sender XML-filen til) importere den til en anden PowerShell-session med cmdlet til tilføjelse af historik:

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

    Hvis du kører Get-Historie cmdlet efter at have importeret en sådan XML-fil, vil du se, at kommandoer fra XML-filen blev importeret til din nuværende PowerShell-session.