Startpagina » hoe » Hoe u uw commandogeschiedenis kunt gebruiken in Windows PowerShell

    Hoe u uw commandogeschiedenis kunt gebruiken in Windows PowerShell

    Windows PowerShell heeft een ingebouwde functie voor opdrachtgeschiedenis met gedetailleerde informatie over de opdrachten die u hebt uitgevoerd. Net als de opdrachtprompt, onthoudt PowerShell alleen uw opdrachtgeschiedenis voor de huidige sessie.

    De opdrachtregelbuffer gebruiken

    PowerShell heeft technisch twee soorten opdrachthistorie. Ten eerste is er de opdrachtregelbuffer, die eigenlijk deel uitmaakt van de grafische PowerShell-terminalapplicatie en geen onderdeel is van de onderliggende Windows PowerShell-toepassing. Het biedt een paar basisfuncties:

    • Pijltje omhoog: Roep de vorige opdracht op die u hebt getypt. Druk herhaaldelijk op de toets om uw opdrachtgeschiedenis te doorlopen.
    • Pijl naar beneden: Roep de volgende opdracht op die u hebt getypt. Druk herhaaldelijk op de toets om uw opdrachtgeschiedenis te doorlopen.
    • F8: Zoek in uw opdrachtgeschiedenis naar een opdracht die overeenkomt met de tekst op de huidige opdrachtregel. Dus, als je wilde zoeken naar een commando dat begon met "p", zou je "p" typen op de opdrachtregel en dan herhaaldelijk op F8 tikken om door opdrachten in je geschiedenis te gaan die beginnen met "a".

    Standaard onthoudt de buffer de laatste 50 opdrachten die u hebt getypt. Om dit te wijzigen, klikt u met de rechtermuisknop op de titelbalk van het PowerShell-promptvenster, selecteert u "Eigenschappen" en wijzigt u de waarde van "Buffergrootte" onder Commandhistorie.

    Hoe PowerShell-geschiedenis te bekijken

    Windows PowerShell zelf houdt een geschiedenis bij van de opdrachten die u in de huidige PowerShell-sessie hebt ingevoerd. U kunt verschillende cmdlets gebruiken om uw geschiedenis te bekijken en ermee te werken.

    Voer de volgende cmdlet uit om de geschiedenis van de opdrachten die u hebt getypt te bekijken:

    Get-History

    U kunt uw geschiedenis doorzoeken door de resulterende uitvoer naar de Select-String cmdlet en geef de tekst op waarnaar u wilt zoeken. Vervang "Voorbeeld" in de cmdlet hieronder door de tekst waarnaar u wilt zoeken:

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

    Om een ​​meer gedetailleerde commandogeschiedenis te bekijken die de uitvoeringsstatus van elke opdracht samen met de begin- en eindtijd weergeeft, voert u de volgende opdracht uit:

    Get-History | Opmaaklijst -eigenschap *

    Standaard is de Get-History cmdlet toont alleen de 32 meest recente geschiedenisitems. Als u een groter aantal geschiedenisitems wilt bekijken of zoeken, gebruikt u de -tellen optie om aan te geven hoeveel geschiedenisvermeldingen PowerShell zou moeten weergeven, zoals:

    Get-History-Count 1000 Get-History -Count 1000 | Select-String -Pattern "Voorbeeld" Get-History-Count 1000 | Opmaaklijst -eigenschap *

    Opdrachten uitvoeren vanuit uw geschiedenis

    Als u een opdracht uit uw geschiedenis wilt uitvoeren, gebruikt u de volgende cmdlet en geeft u het Id-nummer van het geschiedenisitem op dat wordt weergegeven door de Get-History cmdlet:

    Invoke-geschiedenis #

    Als u twee opdrachten uit uw geschiedenis van achteren naar achteren wilt uitvoeren, gebruikt u Roep-History twee keer op dezelfde regel, gescheiden door een puntkomma. Als u bijvoorbeeld snel de eerste opdracht in uw geschiedenis en vervolgens de tweede opdracht uitvoert, voert u het volgende uit:

    Invoke-History 1; Invoke-History 2

    Hoe u uw PowerShell-geschiedenis kunt wissen

    Als u de geschiedenis van de opdrachten die u hebt getypt wilt wissen, voert u de volgende cmdlet uit:

    Geschiedenis wissen

    Merk op dat de buffer van de opdrachtregel losstaat van de PowerShell-geschiedenis. Dus, zelfs nadat je bent weggerend Geschiedenis wissen, u kunt doorgaan met het indrukken van de pijltoetsen omhoog en omlaag om door de ingevoerde opdrachten te bladeren. Echter, als je rent Get-History, u zult zien dat uw PowerShell-geschiedenis in feite leeg is.

    PowerShell onthoudt uw geschiedenis niet tussen sessies. Als u beide opdrachtgeschiedenissen voor de huidige sessie wilt wissen, hoeft u alleen maar het PowerShell-venster te sluiten.

    Als u het PowerShell-venster wilt wissen nadat u de geschiedenis hebt gewist, kunt u dit doen door het Duidelijk commando:

    Duidelijk

    Hoe u uw PowerShell-geschiedenis kunt opslaan en importeren

    Als u de PowerShell-opdrachtgeschiedenis voor de huidige sessie wilt opslaan, zodat u deze later kunt raadplegen, kunt u dit doen.

    Get-History | Exporteer-Clixml -Path c: \ users \ naam \ desktop \ commands.xml

    Hiermee exporteert u uw opdrachtgeschiedenis als een gedetailleerd XML-bestand, compleet met "StartExecutionTime" en "EndExecutionTime" -waarden voor elke opdracht die u vertelt wanneer de opdracht werd uitgevoerd en hoe lang het duurde om te voltooien.

    Nadat u uw PowerShell-geschiedenis naar een dergelijk XML-bestand hebt geëxporteerd, kunt u (of iemand anders naar wie u het XML-bestand verzendt) het importeren naar een andere PowerShell-sessie met de cmdlet Add-History:

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

    Als u de Get-History cmdlet na het importeren van een dergelijk XML-bestand, ziet u dat de opdrachten uit het XML-bestand zijn geïmporteerd in de geschiedenis van uw huidige PowerShell-sessie.