about_History

Kurze Beschreibung

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 im Verlauf als Datensatz 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 vom PSReadLine-Modul verwalteten Verlauf. 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. Diese Verlaufsdatei ist für alle Sitzungen verfügbar und enthält den gesamten Verlauf der Vergangenheit. 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 verfolgt 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 für das Verwalten 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 : So blenden Sie den Verlauf aus.
  • F8 : Sucht einen Befehl. Geben Sie ein oder mehrere Zeichen ein, und drücken Sie dann F8. Drücken Sie F8 erneut die nächste Instanz.
  • F9 : Suchen Sie einen Befehl 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 – Durchsuchen des Verlaufs nach *<string>* und gibt die letzte Übereinstimmung zurück. Wenn Sie wiederholt die TAB-TASTE drücken, werden die übereinstimmenden Elemente in Ihrem Verlauf durchlaufen.

Hinweis

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. Bei geladener PSReadLine 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.

Mit dem folgenden Befehl werden beispielsweise die $MaximumHistoryCount Befehle auf 100 reduziert:

$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 Einstellungsvariablen $MaximumHistoryCount 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, scheinen die Befehle im Verlauf möglicherweise nicht mehr ordnungsgemäß zu sein. Befehle, die in einer geschachtelten Eingabeaufforderung ausgeführt werden, werden nur abgeschlossen, wenn Sie die Eingabeaufforderungsebene beenden.

Weitere Informationen