Startseite
» WINDOWS
»
PowerShell scrollt nicht vertikal? Beheben Sie das Scrollback-Problem.
PowerShell scrollt nicht vertikal? Beheben Sie das Scrollback-Problem.
Wenn PowerShell nicht vertikal scrollt, ändern Sie die Scrollback-Einstellung in der Anwendung, die die Shell ausführt. Erhöhen Sie in der klassischen Windows PowerShell-Konsole die Höhe des Bildschirmpuffers. Erhöhen Sie im Windows Terminal die Größe des Verlaufsprofils. Diese Einstellungen erhalten die Ausgabezeilen; der Befehlsverlauf von PowerShell hingegen nicht. Falls ältere Zeilen bereits verworfen wurden, führen Sie den Befehl erneut aus oder erstellen Sie ein Protokoll, bevor Sie ihn erneut ausführen.
Zuerst muss festgestellt werden, was nicht scrollt.
PowerShell sendet die Ausgabe an einen Host, beispielsweise die klassische Konsole, das Windows-Terminal, das integrierte Terminal von Visual Studio Code oder die PowerShell ISE. Der Host steuert, wie viele Ausgabezeilen oberhalb des sichtbaren Bildschirms angezeigt werden. Wenn ein Befehl weniger Zeilen ausgibt, als in das Fenster passen, gibt es nichts zu scrollen.
Testen Sie mit einem harmlosen Befehl, der 100 Zeilen ausgibt:
1..100 | ForEach-Object { "Line $_" }
Klicken Sie nach Abschluss des Vorgangs in die Konsole, drücken Sie Esc, um die Textauswahl aufzuheben, und versuchen Sie es mit dem Mausrad oder der Bildlaufleiste. Falls Sie durch die Testausgabe navigieren können, ältere Zeilen aber schnell verschwinden, erhöhen Sie die Scrollback-Einstellung unten. Falls das Mausrad keine Reaktion zeigt, stellen Sie sicher, dass das richtige Terminalfenster den Fokus hat, und befolgen Sie die Anweisungen der verwendeten Anwendung.
Beheben Sie das Problem mit der klassischen Windows PowerShell-Konsole.
Führen Sie diese Schritte aus, um ein separates Windows PowerShell-Fenster zu öffnen, das eigenständig geöffnet wird, und nicht eine PowerShell-Registerkarte innerhalb des Windows Terminals:
Öffnen Sie Windows PowerShell und führen Sie den oben stehenden Testbefehl aus.
Klicken Sie mit der rechten Maustaste auf die Titelleiste des Fensters und wählen Sie „Eigenschaften“ .
Öffnen Sie die Registerkarte „Layout“ und suchen Sie nach „Bildschirmpuffergröße“ .
Erhöhen Sie die Zeilenhöhe . Versuchen Sie beispielsweise 3000 Zeilen und wählen Sie dann OK .
Führen Sie den Test erneut aus und scrollen Sie in der Ausgabe nach oben.
Die Höheneinstellung der klassischen Konsole steuert, wie viele Zeilen oberhalb des sichtbaren Fensters angezeigt werden.
Die Höhe gibt die Anzahl der im Konsolenpuffer gespeicherten Zeilen an, nicht die Höhe des sichtbaren Fensters. Ein höherer Wert bedeutet mehr Ausgabe, die Sie erneut betrachten können. Wählen Sie einen höheren Wert, wenn Ihre Befehle mehr Ausgabe erzeugen und die Einstellung dies zulässt. Die Konsole kann keine Zeilen zurückholen, die bereits aus dem Puffer entfernt wurden. Microsoft beschreibt in der Windows-Konsolendokumentation , wie ein Konsolenfenster seinen Bildschirmpuffer anzeigt und scrollt .
Scrollback im Windows Terminal erhöhen
Wenn PowerShell im Windows Terminal ausgeführt wird, ist der Eigenschaften-Dialog der klassischen Konsole nicht die benötigte Einstellung. Das Terminal verwendet für jedes Profil einen eigenen Scrollback.
Öffnen Sie die Windows- Terminaleinstellungen .
Wählen Sie das Profil aus, das Sie tatsächlich verwenden, z. B. Windows PowerShell , und öffnen Sie dann „Erweitert“ .
Erhöhen Sie die Größe des Verlaufs und speichern Sie die Einstellung. Versuchen Sie es mit 20000 Zeilen; Microsoft gibt als Standardwert 9001 und als Maximum 32767 an .
Die Terminalverlaufsgröße legt die Anzahl der Zeilen fest, die oberhalb der aktuellen Ansicht angezeigt werden.
Dieser Wert steuert die Anzahl der Zeilen oberhalb der aktuellen Ansicht, die Terminal anzeigt. Er gehört zum ausgewählten Profil. Ändern Sie daher auch das andere Profil, wenn Sie zwischen Windows PowerShell und PowerShell 7 wechseln. Weitere Informationen zu den aktuellen Eigenschaften finden Sie in den erweiterten Profileinstellungen von Microsoft für Windows Terminal .
Lesen Sie die lange Ausgabe seitenweise.
Paging ist nützlich, wenn ein Befehl viele Ergebnisse liefert und Sie diese der Reihe nach lesen möchten. Es ändert nicht die Scrollback-Grenze. Leiten Sie den Befehl Out-Host -Pagingbeispielsweise an folgende Stelle weiter:
Get-Process | Out-Host -Paging
Mit der Leertaste wird eine Seite weitergeschaltet, mit der Eingabetaste eine Zeile weitergeschaltet und mit Q wird die Seitennavigation beendet.
Drücken Sie die Leertaste für die nächste Seite, die Eingabetaste für die nächste Zeile oder Q , um das Blättern zu beenden. Dieser -PagingParameter wird vom PowerShell ISE-Host nicht unterstützt. Microsoft dokumentiert das Verhalten und die Tasten in der Windows PowerShell 5.1 Out-Host-Referenz .
Ausgabe in einem Transkript speichern
Ein Protokoll stellt Ihnen eine Textdatei zur Verfügung, die Sie nach Abschluss eines längeren Befehls oder nach dem Schließen der Konsole konsultieren können. Starten Sie es, bevor Sie den Befehl ausführen:
Start-Transcript
Ein Protokoll zeichnet Befehle und Konsolenausgaben auf, bis Stop-Transcript ausgeführt wird.
Unter Windows speichert PowerShell das Standardprotokoll im Ordner „Dokumente“ und meldet den Dateipfad beim Start der Aufzeichnung. Führen Sie nach Abschluss der Aufzeichnung folgenden Befehl aus:
Stop-Transcript
Das Protokoll enthält die eingegebenen Befehle und die in der Konsole angezeigten Ausgaben. Behandeln Sie es daher als Klartextdatei, die möglicherweise sensible Informationen enthält. Überprüfen Sie die Datei, bevor Sie sie weitergeben. Microsoft beschreibt den Standardspeicherort und das Verhalten des Protokolls in der Referenz zu „Start-Transcript“ und erklärt, wie die Aufzeichnung mit „Stop-Transcript“ beendet wird .
Scrollback nicht mit Befehlsverlauf verwechseln
Die Änderung $MaximumHistoryCountdieser Einstellung bewirkt nicht, dass die PowerShell-Ausgabe weiter scrollt. Diese Einstellung begrenzt lediglich die Anzahl der Befehle, die der integrierte Sitzungsverlauf für den Abruf mit Verlaufstools speichert; die im Terminal angezeigten Ausgabezeilen werden dabei nicht berücksichtigt. PowerShell verfügt außerdem über einen separaten Verlauf, der von PSReadLine verwaltet wird. Die Unterschiede werden in der Dokumentation zu about_History von Microsoft erläutert.
Falls das Scrollen weiterhin nicht möglich ist, überprüfen Sie, welche Anwendung die Shell hostet, wenden Sie die Scrollback-Einstellung dieser Anwendung an und führen Sie anschließend einen Befehl erneut aus, der ausreichend Ausgabe für einen Test erzeugt. Erhöhen Sie den Puffer für nachfolgende Zeilen; verwenden Sie ein Protokoll, wenn Sie eine dauerhafte Aufzeichnung benötigen.