Installer Powershell Core (7+) comme environnement de travail sur Windows Server Core

Powershell 5 est révolu

Révo­lu, et ce com­plè­te­ment. On en a encore besoin puisque tous les modules Active Direc­to­ry et autres du genre ne fonc­tionnent pas encore sous Power­shell 7, mais bon dieu que c’est désuet. Puisque toute la mani­pu­la­tion d’un ser­veur Win­dows Ser­ver Core se fait dans Power­shell, autant mieux se munir du meilleur.

Powershell Core sous Windows Server Core

Remote Desktop

Ins­tal­ler Power­shell comme envi­ron­ne­ment de base en géné­ral est cou­vert un peu par­tout sur le web, mais je vais le répé­ter ici. Ça se fait via le registre de Win­dows, avec un util­sa­teur aux droits d’ad­mi­nis­tra­teur, comme suit :

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\' -Name Shell -Value 'pwsh.exe'

Sui­vi d’un redémarrage.

Powershell Remoting

C’est bien beau d’ins­tal­ler PS Core pour les ses­sions visuelles. Mais la beau­té et la puis­sance de PS vient de sa capa­ci­té à se prendre plus-ou-moins pour SSH, en four­nis­sant une inter­face ligne-de-com­mande efficace.

Les cmd­lets enter-psses­sion et new-psses­sion pos­sèdent une option nom­mée -Confi­gu­ra­tion, qui per­met de choi­sir l’en­vi­ron­ne­ment dis­tant pour la connec­tion. Une valeur de powershell.<version>[.<sous-version>] démarre la ver­sion de Power­shell désirée.

Non seule­ment ça, mais on peut deman­der une ver­sion de Power­shell Core automatiquement :

# When remoting, default to running PowerShell Core v7.x on the
# the target machines:
$PSSessionConfigurationName = 'PowerShell.7'

Ça nous empêche pas d’u­ti­li­ser l’op­tion pour deman­der Power­shell 5.

Et si ça marche pas ?

S’a­git de rou­ler les com­mandes sui­vantes (en ligne-de-com­mande ou en Remote Desk­top):

cd <chemin d'accès de Powershell Core>
.\Install-PowerShellRemoting.ps1 -PowerShellHome .

Ce qui ajoute une valeur powershell.<version>, par exemple powershell.7.1.1 à l’op­tion -Confi­gu­ra­tion du cmd­let enter-psses­sion/­new-psses­sion.

enter-pssession -ComputerName paslemien -Credential $cred -Configuration powershell.7.1.1
Share

Jetez-y donc un coup d'oeil!

Laisser un commentaire

Votre adresse courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *