Freigeben über


über_Geschichte

Kurzbeschreibung

Beschreibt, wie Befehle im Befehlsverlauf abgerufen und ausgeführt werden.

Lange Beschreibung

Wenn Sie an der Eingabeaufforderung einen Befehl eingeben, speichert PowerShell den Befehl im Befehlsverlauf. Sie können die Befehle in der Verlaufshistorie als Aufzeichnung Ihrer Arbeit verwenden. Und Sie können die Befehle aus dem Befehlsverlauf zurückrufen und ausführen.

PowerShell verfügt über zwei verschiedene Verlaufsanbieter: den integrierten Verlauf und den verlauf, der vom PSReadLine Modul verwaltet wird. Die Historien werden separat verwaltet, aber beide Historien sind in Sitzungen verfügbar, in denen PSReadLine- geladen wird.

Verwenden des PSReadLine-Verlaufs

Der PSReadLine-Verlauf verfolgt die Befehle, die in allen PowerShell-Sitzungen verwendet werden. Der Verlauf wird pro Host in eine zentrale Datei geschrieben. Die Verlaufsdatei ist für alle Sitzungen zugänglich und enthält den gesamten bisherigen Verlauf. Der Verlauf wird beim Beenden der Sitzung nicht gelöscht. Außerdem kann dieser Verlauf nicht von den *-History cmdlets verwaltet werden. Weitere Informationen finden Sie unter about_PSReadLine.

Verwenden des integrierten Sitzungsverlaufs

Der integrierte Verlauf erfasst nur die Befehle, die in der aktuellen Sitzung verwendet werden. Der Verlauf ist für andere Sitzungen nicht verfügbar und wird gelöscht, wenn die Sitzung endet.

Verlaufs-Cmdlets

PowerShell verfügt über eine Reihe von Cmdlets, die den Befehlsverlauf verwalten.

Cmdlet Alias Beschreibung
Get-History h Ruft den Befehlsverlauf ab.
Invoke-History r Führt einen Befehl im Befehlsverlauf aus.
Add-History Fügt dem Befehlsverlauf einen Befehl hinzu.
Clear-History clhy Löscht Befehle aus dem Befehlsverlauf.

Tastenkombinationen zur Verwaltung des Verlaufs

In der PowerShell-Konsole können Sie die folgenden Tastenkombinationen verwenden, um den Befehlsverlauf zu verwalten.

  • UpArrow – Zeigt den vorherigen Befehl an.
  • DownArrow - – Zeigt den nächsten Befehl an.
  • F7- – Zeigt den Befehlsverlauf an.
  • ESC – Zum Ausblenden des Verlaufs.
  • F8 – Sucht einen Befehl. Geben Sie ein oder mehrere Zeichen ein, und drücken Sie dann F8. Drücken Sie erneut F8 für den nächsten Vorgang.
  • F9 – Suchen eines Befehls nach Verlaufs-ID. Geben Sie die Verlaufs-ID ein, und drücken Sie dann F9. Drücken Sie F7-, um die ID zu finden.
  • # <string> Registerkarte – Durchsucht den Verlauf nach *<string>* und liefert die jüngste Übereinstimmung zurück. Wenn Sie Registerkarte wiederholt drücken, werden die übereinstimmenden Elemente in Ihrem Verlauf durchlaufen.

Anmerkung

Diese Tastenbindungen werden von der Konsolenhostanwendung implementiert. Andere Anwendungen, z. B. Visual Studio Code oder Windows Terminal, können unterschiedliche Tastenbindungen aufweisen. Die Bindungen können vom PSReadLine-Modul überschrieben werden. PSReadLine wird automatisch geladen, wenn Sie eine PowerShell-Sitzung starten. Wenn PSReadLine geladen wurde, sind F7- und F9- nicht an eine Funktion gebunden. PSReadLine bietet keine gleichwertige Funktionalität. Weitere Informationen finden Sie unter about_PSReadLine.

MaximumHistoryCount

Die $MaximumHistoryCount Einstellungsvariable bestimmt die maximale Anzahl von Befehlen, die PowerShell im Befehlsverlauf speichert. Der Standardwert ist 4096.

Der folgende Befehl reduziert beispielsweise $MaximumHistoryCount auf 100 Befehle:

$MaximumHistoryCount = 100

Starten Sie PowerShell neu, um die Einstellung anzuwenden.

Um den neuen Variablenwert für alle PowerShell-Sitzungen zu speichern, fügen Sie die Zuweisungsanweisung zu einem PowerShell-Profil hinzu. Weitere Informationen zu Profilen finden Sie unter about_Profiles.

Weitere Informationen zur $MaximumHistoryCount preference variable finden Sie unter about_Preference_Variables.

Reihenfolge der Befehle im Verlauf

Befehle werden dem Verlauf hinzugefügt, wenn die Ausführung des Befehls abgeschlossen ist, nicht, wenn der Befehl eingegeben wird. Wenn die Ausführung von Befehlen einige Zeit in Anspruch nimmt oder wenn die Befehle in einer geschachtelten Eingabeaufforderung ausgeführt werden, können die Befehle im Verlauf möglicherweise außer der Reihenfolge erscheinen. Befehle, die in einer geschachtelten Eingabeaufforderung ausgeführt werden, werden nur abgeschlossen, wenn Sie die Eingabeaufforderungsebene beenden.

Siehe auch