Benutzer-Werkzeuge

Webseiten-Werkzeuge


powershell:module:psreadline

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
powershell:module:psreadline [2020/02/27 10:32] – angelegt henningpowershell:module:psreadline [2024/05/27 08:36] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 3: Zeile 3:
 GNU Readline ist eine Biblio­thek mit Funktionen zur Bear­beitung von Befehls- und Programm­zeilen. Microsoft hat sie für Power­Shell adaptiert und so den Bedien­komfort der Kon­sole deutlich erhöht. Davon profi­tieren Anwender besonders beim Zugriff auf die Historie der Kom­mandos sowie bei der Auto­vervoll­ständigung. GNU Readline ist eine Biblio­thek mit Funktionen zur Bear­beitung von Befehls- und Programm­zeilen. Microsoft hat sie für Power­Shell adaptiert und so den Bedien­komfort der Kon­sole deutlich erhöht. Davon profi­tieren Anwender besonders beim Zugriff auf die Historie der Kom­mandos sowie bei der Auto­vervoll­ständigung.
  
-Im Vergleich zur PowerShell ISE, die als grafischer Editor die Script-Entwickler mit einer Reihe von intelligenten Funktionen unterstützt, waren die Editier­möglich­keiten in der textorientierten PowerShell bisher beschränkt. Sie bot dabei kaum mehr als der alte Kommando­interpreter, speziell beim Wieder­verwenden von Befehlen aus der History (siehe dazu: Get-History: PowerShell-Befehle wiederholen auf der Kommandozeile).+Im Vergleich zur PowerShell ISE, die als grafischer Editor die Script-Entwickler mit einer Reihe von intelligenten Funktionen unterstützt, waren die Editier­möglich­keiten in der textorientierten PowerShell bisher beschränkt. Sie bot dabei kaum mehr als der alte Kommando­interpreter, speziell beim Wieder­verwenden von Befehlen aus der History (siehe dazu: [[powershell:module:get-history|Get-History: PowerShell-Befehle wiederholen auf der Kommandozeile]]).
 ===== PSReadline seit Windows 10 an Bord ===== ===== PSReadline seit Windows 10 an Bord =====
 Microsoft bot zwar seit einiger Zeit PSReadline als separates Modul an, das man unter Windows 7/8 [[https://4sysops.com/archives/how-to-install-the-powershell-console-extension-psreadline/|explizit installieren musste]]. Aber erst seit PowerShell 5.0 gehört es zum Lieferumfang. Unter Windows 10 und Server 2016 ist es somit automatisch vorhanden. Bei älteren Versionen des Betriebs­systems erhält man es jetzt am einfachsten, indem man die aktuelle PowerShell über WMF nachinstalliert.\\ Microsoft bot zwar seit einiger Zeit PSReadline als separates Modul an, das man unter Windows 7/8 [[https://4sysops.com/archives/how-to-install-the-powershell-console-extension-psreadline/|explizit installieren musste]]. Aber erst seit PowerShell 5.0 gehört es zum Lieferumfang. Unter Windows 10 und Server 2016 ist es somit automatisch vorhanden. Bei älteren Versionen des Betriebs­systems erhält man es jetzt am einfachsten, indem man die aktuelle PowerShell über WMF nachinstalliert.\\
Zeile 18: Zeile 18:
  
 Dieses Verfahren funktioniert auch für die vorgegebenen Werte eines Parameters, beispielsweise für ''ErrorAction''. Möchte man sich auf diese Weise etwa für ''Get-CimInstance'' die WMI-Klassen anzeigen lassen, dann sollte man diese Liste durch Eingabe der ersten Buchstaben eingrenzen, andernfalls erhält man hunderte Namen.\\ Dieses Verfahren funktioniert auch für die vorgegebenen Werte eines Parameters, beispielsweise für ''ErrorAction''. Möchte man sich auf diese Weise etwa für ''Get-CimInstance'' die WMI-Klassen anzeigen lassen, dann sollte man diese Liste durch Eingabe der ersten Buchstaben eingrenzen, andernfalls erhält man hunderte Namen.\\
-{{:powershell:module:psreadline-parameterwerte-wmi-klassen.png?400|}}+{{:powershell:module:psreadline-parameterwerte-wmi-klassen.png?400|Bei einer sehr großen Zahl an möglichen Werten für einen Parameter fragt PSReadline nach, ob man sie anzeigen möchte.}} 
 +===== Dauerhafte History ===== 
 +Große Fortschritte bringt PSReadline bei der Befehls­historie. PowerShell speicherte bisher nur die Kommandos der aktuellen Sitzung und verwarf sie nach deren Ende. Das neue Modul bewahrt sie hingegen permanent auf, und zwar per Default bis zu 4096 Befehle. \\ 
 + 
 +Abfragen lässt sich diese Einstellung mit ''Get-PSReadlineOption | select MaximumHistoryCount''. Möchte man diesen Wert ändern, wofür normal keine Veranlassung besteht, dann kann man das mit einem Befehl nach diesem Muster tun: ''Set-PSReadlineOption -MaximumHistoryCount 2048''
 +===== Suche in der Befehlshistorie ===== 
 +Ein weiteres interessantes Feature ist die Suche in der History. Dazu drückt man ''STRG + r'' und gibt die gewünschte Zeichenkette ein. Ist der erste Treffer nicht der, den man benötigt, dann wiederholt man die Eingabe von ''STRG + r'', bis man den richtigen Befehl angezeigt bekommt.\\ 
 +{{:powershell:module:psreadline-history-suche.png?400|Zu PSReadline gehört auch eine Suchfunktionen für die Befehlshistorie}}\\ 
 + 
 +Zu dieser Rückwärts­suche gibt es ein Gegenstück für die Vorwärtssuche mit STRG + s. Sie braucht man, wenn man mit der Pfeiltaste nach oben oder mit F8 bereits die Historie ein Stück durchlaufen hat und wieder in der Gegenrichtung suchen möchte. 
 +===== Liste der Kommandos löschen ===== 
 +Die Befehlshistorie löschen kann man mit ''ALT + F7''. Das betrifft aber nur die Abfolge von Kommandos, die PSReadline selbst speichert, und zwar in der Datei, die man über ''Get-PSReadlineOption | select HistorySavePath'' erfragen kann. Davon unberührt bleibt die Liste der Befehle, die man mit ''Get-History'' zu sehen bekommt und die nur die jeweilige Session umfassen. 
 +===== Eigene Tastenkombinationen belegen ===== 
 +PSReadline bietet noch eine ganze Reihe von Funktionen, die aber noch keiner Tastenkombination zugeordnet sind. Dies kann man bei Bedarf selbst nachholen, und zwar nach diesem Muster:\\ 
 +''Set-PSReadlineKeyHandler -Chord Alt+v -Function ValidateAndAcceptLine''\\ 
 + 
 +In diesem Beispiel legt man fest, dass die Funktion ''ValidateAndAcceptLine'', welche einen Befehl vor dem Abschicken auf Korrektheit prüft, über ''Alt + v'' abgerufen werden kann.\\ 
 +{{:powershell:module:get-psreadlinekeyhandler.png?400|Viele Funktionen von PSReadline sind noch nicht mit einer Tastenkombination belegt}}\\ 
 + 
 +Welche Funktionen über welche Tasten­kombination erreichbar und welche gar nicht belegt sind, lässt sich mit ''Get-PSReadlineKeyHandler'' abfragen.
powershell/module/psreadline.1582795932.txt.gz · Zuletzt geändert: 2024/05/27 08:35 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki