about_History

Korte beschrijving

Hierin wordt beschreven hoe u opdrachten kunt ophalen en uitvoeren in de opdrachtgeschiedenis.

Lange beschrijving

Wanneer u een opdracht invoert bij de opdrachtprompt, slaat PowerShell de opdracht op in de opdrachtgeschiedenis. U kunt de opdrachten in de geschiedenis gebruiken als een record van uw werk. En u kunt de opdrachten intrekken en uitvoeren vanuit de opdrachtgeschiedenis.

PowerShell heeft twee verschillende geschiedenisproviders: de ingebouwde geschiedenis en de geschiedenis die wordt beheerd door de PSReadLine-module . De geschiedenissen worden afzonderlijk beheerd, maar beide geschiedenissen zijn beschikbaar in sessies waarin PSReadLine wordt geladen.

De GESCHIEDENIS van PSReadLine gebruiken

In de GESCHIEDENIS van PSReadLine worden de opdrachten bijgehouden die in alle PowerShell-sessies worden gebruikt. De geschiedenis wordt per host naar een centraal bestand geschreven. Dat geschiedenisbestand is beschikbaar voor alle sessies en bevat alle eerdere geschiedenis. De geschiedenis wordt niet verwijderd wanneer de sessie wordt beëindigd. Deze geschiedenis kan ook niet worden beheerd door de *-History cmdlets. Zie about_PSReadLine voor meer informatie.

De ingebouwde sessiegeschiedenis gebruiken

De ingebouwde geschiedenis houdt alleen de opdrachten bij die in de huidige sessie worden gebruikt. De geschiedenis is niet beschikbaar voor andere sessies en wordt verwijderd wanneer de sessie afloopt.

Geschiedenis-cmdlets

PowerShell heeft een set cmdlets waarmee de opdrachtgeschiedenis wordt beheerd.

Cmdlet Alias Beschrijving
Get-History h Hiermee haalt u de opdrachtgeschiedenis op.
Invoke-History r Voert een opdracht uit in de opdrachtgeschiedenis.
Add-History Hiermee voegt u een opdracht toe aan de opdrachtgeschiedenis.
Clear-History clhy Hiermee verwijdert u opdrachten uit de opdrachtgeschiedenis.

Sneltoetsen voor het beheren van geschiedenis

In de PowerShell-console kunt u de volgende sneltoetsen gebruiken om de opdrachtgeschiedenis te beheren.

  • UpArrow - Geeft de vorige opdracht weer.
  • DownArrow - Geeft de volgende opdracht weer.
  • F7 - Geeft de opdrachtgeschiedenis weer.
  • ESC - De geschiedenis verbergen.
  • F8 - Zoekt een opdracht. Typ een of meer tekens en druk op F8. Druk nogmaals op F8 in het volgende exemplaar.
  • F9 - Een opdracht zoeken op geschiedenis-id. Typ de geschiedenis-id en druk op F9. Druk op F7 om de id te vinden.
  • #<string>Tab : zoek in de geschiedenis naar *<string>* en retourneert de meest recente overeenkomst. Als u herhaaldelijk op Tab drukt, worden de overeenkomende items in uw geschiedenis doorlopen.

Notitie

Deze sleutelbindingen worden geïmplementeerd door de consolehosttoepassing. Andere toepassingen, zoals Visual Studio Code of Windows Terminal, kunnen verschillende sleutelbindingen hebben. De bindingen kunnen worden overschreven door de PSReadLine-module. PSReadLine wordt automatisch geladen wanneer u een PowerShell-sessie start. Als PSReadLine is geladen, zijn F7 en F9 niet gebonden aan een functie. PSReadLine biedt geen equivalente functionaliteit. Zie about_PSReadLine voor meer informatie.

MaximumHistoryCount

De $MaximumHistoryCount voorkeursvariabele bepaalt het maximum aantal opdrachten dat door PowerShell wordt opgeslagen in de opdrachtgeschiedenis. De standaardwaarde is 4096.

Met de volgende opdracht worden bijvoorbeeld de $MaximumHistoryCount 100 opdrachten verlaagd:

$MaximumHistoryCount = 100

Start PowerShell opnieuw om de instelling toe te passen.

Als u de nieuwe variabelewaarde voor al uw PowerShell-sessies wilt opslaan, voegt u de toewijzingsinstructie toe aan een PowerShell-profiel. Zie about_Profiles voor meer informatie over profielen.

Zie about_Preference_Variables voor meer informatie over de $MaximumHistoryCount voorkeursvariabele.

Volgorde van opdrachten in de geschiedenis

Opdrachten worden toegevoegd aan de geschiedenis wanneer de opdracht is uitgevoerd, niet wanneer de opdracht wordt ingevoerd. Als het even duurt voordat opdrachten zijn voltooid of als de opdrachten worden uitgevoerd in een geneste prompt, lijken de opdrachten in de geschiedenis mogelijk niet in orde te zijn. Opdrachten die worden uitgevoerd in een geneste prompt, worden alleen voltooid wanneer u het promptniveau afsluit.

Zie ook