Cette fonctionnalité semble avoir été ajoutée à PowerShell version 5.1, car je ne la trouve pas encore sur mon ordinateur portable fonctionnant sous la version 5.0.
En appuyant sur Backspace dans PowerShell, il émettra un bip sonore s'il n'y a plus de texte à supprimer. C’est assez gênant si vous maintenez accidentellement la touche enfoncée trop longtemps, car le son continuera pendant un court instant après que vous l’ayez relâchée.
J'ai trouvé this Une question de super utilisateur qui suggère de désactiver le service Beep, ce qui fonctionne, mais j'aimerais quand même pouvoir utiliser des bips dans les scripts.
Comment désactiver le son "bip sur retour arrière" sans désactiver complètement les bips?
Le bip est fourni par le module PSReadline
, fourni avec Windows 10. Vous devez modifier l'option PSReadline
pour désactiver la cloche:
Set-PSReadlineOption -BellStyle None
Si vous souhaitez ce changement pour toutes les sessions PowerShell futures, vous devez ajouter cette commande à votre profil PowerShell . Par exemple, pour définir l'option "Utilisateur actuel, hôte actuel" ($Profile
):
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
if (!(Test-Path -Path "$Profile")) {New-Item -ItemType File -Path "$Profile" -Force}
Add-Content -Value "Set-PSReadlineOption -BellStyle None" -Path "$Profile"
La première ligne permet à votre profil d’exécuter un script de démarrage à l’ouverture de PowerShell ( À propos des politiques d’exécution ). La deuxième ligne teste si un script de démarrage a déjà été défini pour "Utilisateur actuel, hôte actuel". La troisième ligne ajoute l'option bell à votre script de démarrage.
Une solution plus permanente qui étend la réponse de @PetSerAl :
set-executionpolicy remotesigned
. Cela permettra aux scripts PowerShell de s'exécuter sur votre ordinateur. Si vous n'êtes pas sûr de ce que c'est, ne continuez pas.C:\Windows\System32\WindowsPowerShell\v1.0
si vous êtes sur Windows 10.Microsoft.PowerShell_profile.ps1
.Set-PSReadlineOption -BellStyle None
.Toutes les (nouvelles) consoles PowerShell de tous les utilisateurs de votre ordinateur sont désormais silencieuses.
Cette réponse concerne Windows 10. Pour les autres versions de Windows, le dossier peut être différent.
Une adaptation de la réponse de @Odys à l'aide du shell Bash sur le sous-système Windows pour Linux (à condition que cette option soit activée).
1 Ouvrez une invite de commande en tant qu'administrateur et exécutez
set-executionpolicy remotesigned
2 Tapez bash
pour démarrer le shell bash
3 Accédez au répertoire approprié
cd /mnt/c/Windows/System32/WindowsPowerShell/v1.0
4 Créez un fichier nommé "Microsoft.Powershell_profile.ps1" et écrivez-lui "Set-PSReadlineOption -BellStyle None".
echo "Set-PSReadlineOption -BellStyle None" >> Microsoft.Powershell_profile.ps1
J'ai classé cet élément Github contre PsReadLine, car je ne suis pas sûr que ce changement était intentionnel - https://github.com/lzybkr/PSReadLine/issues/422