Diese Funktion wurde anscheinend in PowerShell Version 5.1 hinzugefügt, da ich sie auf meinem Laptop, auf dem noch 5.0 ausgeführt wird, nicht finde.
Wenn Sie Backspacein PowerShell drücken , ertönt ein Piepton, wenn kein (mehr) zu löschender Text vorhanden ist. Dies ist sehr ärgerlich, wenn Sie die Taste versehentlich zu lange gedrückt halten, da der Ton nach dem Loslassen noch einige Zeit anhält.
Ich habe diese Super-User-Frage gefunden, die vorschlägt, den Beep-Dienst zu deaktivieren, was funktioniert, aber ich möchte weiterhin in der Lage sein, Beeps in Skripten zu verwenden.
Wie deaktiviere ich den Ton "Beep on Backspace", ohne die Signaltöne vollständig zu deaktivieren?
powershell
Schnelles Ethernet
quelle
quelle
Set-PSReadlineOption -BellStyle None
Get-Help about_Profiles
Antworten:
Der Signalton wird von dem
PSReadline
mit Windows 10 gelieferten Modul ausgegeben. Sie müssen diePSReadline
Option zum Deaktivieren der Klingel ändern :Wenn Sie diese Änderung für alle zukünftigen PowerShell-Sitzungen wünschen, müssen Sie diesen Befehl Ihrem PowerShell-Profil hinzufügen . So legen Sie beispielsweise die Option für "Aktueller Benutzer, Aktueller Host" (
$Profile
) fest:In der ersten Zeile kann Ihr Profil ein Startskript ausführen, wenn PowerShell geöffnet wird ( Informationen zu Ausführungsrichtlinien ). In der zweiten Zeile wird geprüft, ob bereits ein Startskript für "Aktueller Benutzer, Aktueller Host" definiert ist. In der dritten Zeile wird Ihrem Startskript die Option bell hinzugefügt.
quelle
Eine dauerhaftere Lösung, die die Antwort von @PetSerAl erweitert :
set-executionpolicy remotesigned
. Dadurch können PowerShell-Skripts auf Ihrem Computer ausgeführt werden. Wenn Sie nicht sicher sind, was das ist, fahren Sie nicht fort.C:\Windows\System32\WindowsPowerShell\v1.0
wenn Sie unter Windows 10 arbeiten.Microsoft.PowerShell_profile.ps1
.Set-PSReadlineOption -BellStyle None
.Alle (neuen) PowerShell-Konsolen für alle Benutzer auf Ihrem Computer sind jetzt still.
Diese Antwort gilt für Windows 10. Bei anderen Windows-Versionen kann der Ordner abweichen.
quelle
Set-ExecutionPolicy
Möglicherweise sind erhöhte Berechtigungen erforderlich. Wenn Sie diese Einstellung also nur für Ihren eigenen Benutzer ändern möchten, können Sie sie mit-Scope CurrentUser
Argument verwenden.Ich habe diesen Github-Artikel gegen PsReadLine eingereicht, da ich nicht sicher bin, ob diese Änderung beabsichtigt war - https://github.com/lzybkr/PSReadLine/issues/422
quelle
Eine Anpassung der Antwort von @Odys mithilfe der Bash-Shell auf dem Windows-Subsystem für Linux (vorausgesetzt, Sie haben sie aktiviert).
1 Öffnen Sie als Administrator eine Eingabeaufforderung und führen Sie sie aus
2 Geben Sie ein
bash
, um die Bash-Shell zu starten3 Wechseln Sie in das richtige Verzeichnis
4 Erstellen Sie eine Datei mit dem Namen "Microsoft.Powershell_profile.ps1" und schreiben Sie "Set-PSReadlineOption -BellStyle None" darauf
quelle
sudo chmod 644 ./Microsoft.Powershell_profile.ps1
dir Privilegien zu verschaffen. Ich erinnere mich nicht an mein root-Passwort, daher kann ich nicht bestätigen, dass dies funktioniert.