Share via


about_History

Kurze Beschreibung

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

Lange Beschreibung

Wenn Sie einen Befehl an der Eingabeaufforderung eingeben, speichert PowerShell den Befehl im Befehlsverlauf. Sie können die Befehle im Verlauf als Aufzeichnung Ihrer Arbeit verwenden. Außerdem können Sie die Befehle aus dem Befehlsverlauf abrufen 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 nach, 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 nicht gelöscht, wenn die Sitzung endet. 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 nach, 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 die Verwaltung des Verlaufs

In der PowerShell-Konsole können Sie die folgenden Verknüpfungen 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 mindestens ein Zeichen ein, und drücken Sie dann F8. Drücken Sie beim nächsten instance erneut F8.
  • F9 : Suchen Sie einen Befehl anhand der Verlaufs-ID. Geben Sie die Verlaufs-ID ein, und drücken Sie F9. Drücken Sie F7 , um die ID zu suchen.
  • #<string>Registerkarte: Search den Verlauf für *<string>* und gibt die neueste Übereinstimmung zurück. Wenn Sie die TAB-TASTE wiederholt drücken, werden die übereinstimmenden Elemente in Ihrem Verlauf durchlaufen.

Hinweis

Diese Schlüsselbindungen werden von der Konsolenhostanwendung implementiert. Andere Anwendungen, z. B. Visual Studio Code oder Windows-Terminal, können unterschiedliche Schlüsselbindungen aufweisen. Die Bindungen können vom PSReadLine-Modul überschrieben werden. PSReadLine wird automatisch geladen, wenn Sie eine PowerShell-Sitzung starten. Wenn PSReadLine geladen ist, sind F7 und F9 an keine 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 senkt beispielsweise die $MaximumHistoryCount Befehle auf 100:

$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 dauert oder die Befehle in einer geschachtelten Eingabeaufforderung ausgeführt werden, scheinen die Befehle im Verlauf möglicherweise nicht in Ordnung zu sein. Befehle, die in einer geschachtelten Eingabeaufforderung ausgeführt werden, werden nur ausgeführt, wenn Sie die Eingabeaufforderungsebene beenden.

Weitere Informationen