Pourquoi l'exécution de PowerShell modifie-t-elle la police de ma console?

16

J'ai un problème étrange sur mon ordinateur portable - lorsque j'exécute Powershell dans une fenêtre de console existante, le choix de police pour la fenêtre change.

Par exemple, il s'agit de cmd.exe immédiatement après l'ouverture de la fenêtre: console de commande une fois ouverte

Les polices, la taille de la fenêtre et les couleurs utilisées sont correctes - la police est Lucida Console à 16 pt.

Ensuite, je cours PowerShellet voici le résultat:

entrez la description de l'image ici

La police a changé en "police raster" à 12x16 pixels! Les autres propriétés des fenêtres - couleurs, nombre de lignes, nombre de colonnes - sont inchangées.

Une idée pourquoi ça change?

Remarque: lors de mes recherches - car la police raster est horriblement laide et cela me dérange - j'ai trouvé d'autres signalant des problèmes de définition de la police pour la fenêtre de la console PowerShell (comme la question " Impossible de changer la police par défaut PowerShell en console Lucida "). Bien que mon problème soit différent (puisque je démarre Powershell à partir d'une fenêtre de console existante, pas à partir de l'écran de démarrage), je soupçonne qu'une solution pour l'un pourrait aider l'autre.

Bevan
la source
Vous pouvez utiliser ConEmu et éviter complètement le problème.
dangph
@ChrisLively ah je ne m'étais pas rendu compte que la réponse n'avait été postée qu'aujourd'hui. Pour une raison quelconque, je pensais que c'était beaucoup plus ancien. je vais supprimer mon commentaire.
barlop

Réponses:

2

J'avais exactement le même problème et ça me rendait fou. Voici ce que j'ai fait pour le corriger, j'espère que cela fonctionnera aussi pour vous:

1.) Dans cmd.exe, exécutez la commande powershell.

2.) À l'invite PowerShell dans cmd.exe, accédez aux paramètres et changez la police en Lucida Console.

3.) Quittez l'invite powershell et tout en restant dans cmd.exe, allez dans les paramètres et changez la police en Lucida Console.

4.) Comme étape supplémentaire pour faire bonne mesure, j'ai exécuté à start powershellpartir de cmd.exe et j'ai également changé la police.

5.) Souriez maintenant que mon TOC est capable de se reposer. Maintenant, quand je vais dans start-> run-> cmd.exe et que j'utilise la commande powershell, il reste sur Lucida Console.

J'ai redémarré l'ordinateur et tout rouvert, et jusqu'à présent, il semble que ça colle pour moi.

J'espère que cela vous aidera dans votre quête =)

Ozzy S
la source
1
Merci beaucoup pour la suggestion - mais cela n'a pas fait de différence sur mon ordinateur portable. :-(
Bevan
2

C'est FYI au moins au cas où cela aiderait quelqu'un pour une résolution rapide. Cela peut ne pas répondre au POURQUOI mais cela donne un moyen de corriger ou de réparer rapidement en cas de besoin.

Aller à TechNet SetConsoleFont et voyez les détails là-bas, puis suivez les instructions ci-dessous et consultez également la section des ressources ci-dessous.

C'est là qu'intervient le module SetConsoleFont. Avant de pouvoir utiliser la cmdlet Set-ConsoleFont, vous devez importer le module. Tout d'abord, copiez le module dans un éditeur local. Notez que lorsque j'ai copié le texte, la dernière ligne avait un saut de ligne indésirable. Assurez-vous que la dernière ligne du module ressemble à ceci:

Export-ModuleMember -Variable _DefaultFont, _hConsoleScreen -Function Set-ConsoleFont, Get-ConsoleFontInfo

Ensuite, vous devez stocker le fichier dans le dossier de votre module. Avec $ env: PSModulePath sur une console PowerShell, vous pouvez obtenir une liste de vos dossiers de modules. Par exemple, vous pouvez stocker le module SetConsoleFont dans le dossier du module PowerShell dans le répertoire Documents en utilisant le nom de fichier SetConsoleFont.psm1, comme ceci:

%USERPROFILE%\Documents\WindowsPowerShell\Modules\SetConsoleFont\SetConsoleFont.psm1

Ensuite, vous pouvez importer le module avec:

Import-Module SetConsoleFont

Vous pouvez maintenant obtenir une liste des polices disponibles et leurs dimensions avec:

Get-ConsoleFontInfo | Format-Table -AutoSize

Pour définir une taille de police, vous devez choisir un nombre dans la colonne nFont:

Set-ConsoleFont 8

Pour modifier la taille de votre police par défaut, vous pouvez exécuter Set-ConsoleFont sans argument

RESSOURCES

Pimp Juice IT
la source