Lorsque je me connecte localement à une installation Server 2012 Core, chaque fois que je dois taper powershell
pour accéder à une ligne de commande PowerShell au lieu de plain ol 'cmd.
En supposant que je ne supprimerai jamais la fonctionnalité Windows PowerShell, comment puis-je configurer le serveur pour qu'il me mette directement dans une invite PowerShell au lieu de cmd?
AvailableShells
clé, seul TrustedInstaller le fait. Je ne peux pas modifier les autorisations sans prendre possession de la clé. Pensez-vous que l'appropriation d'une clé système posera des problèmes? Voici les ACL de mon registre: gist.github.com/vcsjones/4dca25f94bfb1cfd5857reg add
exemple.Voici donc ma solution à cette question.
AvailableShells
chemin.Ma solution, comme beaucoup d'autres que vous trouverez dans une recherche, consiste à changer la
HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
valeur en Powershell. J'ai utilisé le ciblage au niveau de l'élément pour modifier cette valeur uniquement sur les systèmes sans explorer.exe. AFAIK, c'est l'un des tests les plus simples pour trier les systèmes Server Core des systèmes avec un bureau standard.La ligne de commande que j'utilise (
powershell.exe -noexit -Command "Set-Location ${Env:USERPROFILE} ;start sconfig ; start runonce.exe /AlternativeShellStartup"
) démarrera powershell, déclenchera les tâches runone, définira mon répertoire actuel et démarrera sconfig dans une autre fenêtre.la source
La commande dans la réponse de syneticon-dj ne fonctionne pas, car un administrateur élevé normal n'a pas accès en écriture à la clé. Les commentaires mentionnent que vous devez modifier les autorisations. Mais cela implique de cliquer beaucoup dans regedit.exe et ne fonctionne pas pour les installations par script.
J'utilise le script PowerShell suivant:
il modifie d'abord les autorisations sur la clé, puis définit PowerShell comme shell.
Notez que cela ne peut fonctionner que sur un système d'exploitation anglais, car il fait référence au groupe «Administrateurs».
la source