6 votes

Comment se fait-il que Powershell exécuté avec "run" et avec l'icône épinglée ait des paramètres différents ?

Sur mon Windows 7, si j'exécute un powershell via "Win+R", "powershell", il démarre avec un texte blanc sur fond noir et les paramètres sont touchés via [HKEY_CURRENT_USER\Colors] . Par exemple, je peux facilement modifier la couleur "rouge" par défaut pour qu'elle soit moins vive :

enter image description here

Mais si je place ce powershell dans la superbarre de Windows 7 et que je le lance en cliquant sur l'icône de la superbarre, il affichera des couleurs bleues et blanches que je ne peux pas changer O_O :

enter image description here

Pourquoi une telle différence et y a-t-il un moyen de configurer les couleurs de Powershell épinglé de la même manière que je peux configurer Powershell qui est lancé via la commande "run".

17voto

Jonesinator Points 1793

TL;DR

  1. Exécuter powershell.exe
  2. ALT - SPACE -> Properties
  3. Modifiez vos paramètres comme vous le souhaitez.
  4. OK

powershell.exe est un programme de console. Lorsqu'un programme de console s'exécute, Windows configure la console en regardant dans un certain nombre d'emplacements.

Il examine d'abord le raccourci (fichier .LNK) que vous avez lancé. C'est ce que vous verrez généralement dans le menu Démarrer, sur le bureau, dans la barre des tâches. Si vous faites un RC-clic sur le raccourci et que vous sélectionnez Propriétés, vous verrez plusieurs de ces options.

Pour toutes les options qui ne sont pas spécifiées dans le raccourci (ou si vous avez lancé le fichier .EXE directement, sans raccourci), Windows consulte le registre.

Je n'ai pas pu trouver une liste complète des clés de registre concernées, mais voici celles que je connais :

HKEY_CURRENT_USER\Console
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor

Mais attendez, il y a plus !

Lorsque vous ouvrez le menu Système dans une fenêtre de console, vous voyez à la fois "Propriétés" et "Valeurs par défaut".

Defaults modifie l'une des clés de registre ci-dessus.

Les propriétés s'appliquent à la fenêtre de console actuellement ouverte et au raccourci qui l'a lancée. Si vous n'avez pas utilisé de raccourci parce que vous avez ouvert le fichier .EXE directement, les propriétés s'appliquent à une clé de registre spéciale, par exemple :

HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe

Mais ce n'est pas tout !

Les programmes de console ont la possibilité de modifier leurs propres couleurs. Par exemple, dans CMD vous pouvez faire :

C:\>color f0

Et dans PowerShell :

PS> $Host.UI.RawUI.BackgroundColor = 7

Ces paramètres ne sont en aucun cas conservés.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X