logo-powershellPour les utilisateurs Linux, et surtout les développeurs, se retrouver sur une boite Windows peut être frustrant voire énervant. Malheureusement beaucoup de sociétés sont bloquées sur ce système et, bien malgré nous, nous devons souvent composer avec.

Heureusement, Windows a fini par sortir un shell, un peu plus correct que l’infâme DOS en ligne de commande, largement inspiré de ceux de Linux: PowerShell.

Nous allons voir comment installer et utiliser ce PowerShell pour se retrouver dans des conditions de travail un peu plus acceptables.

Installer / Mettre à jour PowerShell

Tout d’abord il faut s’assurer de la version de PowerShell installée.

Lancer PowerShell

Pour cela lancer le menu “Tous les programmes..Accessoires..Windows PowerShell..Windows PowerShell:

PowerShelLaunchUne fenêtre de commande apparaît alors:

PowerShellPromptVérifier la version

pour vérifier la version, il suffit d’enter la commande suivante:

$PSVersionTable

PowerShelVersionLa ligne PSVersion, nous donne la version de PowerShell, ici 2.0. Il faut être à minima en version 3.0.

Changer de Version

Tout d’abord, il faut s’assurer que Windows est bien à jour, et donc faire un Windows Update.

Installer le Framework .Net 4.0

Windows PowerShell 3.0 nécessite le Framework  .NET 4.0 et s’il n’est pas proprement installé, l’installation de PowerShell, elle, va générer une erreur.

Il faut donc aller sur la page install .NET Framework 4.0 installer ce FrameWork si cela n’est pas déjà fait.

Installer PowerShell

Aller sur la page Technet de mircrosoft ( http://technet.microsoft.com/en-us/scriptcenter/bb410849.aspx) et cliquer sur le lien Windows PowerShell 4.0 sous Scripting Downloads.

Vérifier la version de son processeur

PowerShellProcArch

Et installer la version correspondante à son architecture, telle qu’elle est présentée dans la partie Install Instructions de la page de téléchargement:

PowerShellInstallInstructionsTélécharger le fichier et exécuter:

PowerShellv4Install Une fois l’installation terminée, il faut redémarrer le système. Ensuite on relance PowerShell et on vérifie la nouvelle version:

PowerShellVersionUpdated

Installer Scoop

Modifier la stratégie d’exécution

set-executionpolicy unrestricted -s cu  

Installer Scoop:

`$a=new-object net.webclient;$a.proxy.credentials=[system.net.credentialcache]::Defaultnetworkcredentials;$a.downloadstring('https://get.scoop.sh')|iex`

Utiliser Scoop

on peut utiliser Scoop pour installer des packages, comme dans l’exemple ci-dessous d’installation d’outils standards.

scoop install 7zip coreutils curl git grep openssh sed wget vim grep  

coreutils et les autres outils, comme git, permettent d’utiliser PWS avec un ensemble de commandes régulièrement utilisées sous Linux.

La liste des outils proposés par Scoop est disponible ici.

Quelques exemples

Générer une clé SSH

Cela se fait de la même manière que sous Linux:

ssh-keygen -t rsa -C "monmail@mondomaine.com" cat ~/.ssh/id_rsa.pub  

Plus

Éventuellement positionner son proxy HTTP:

$env:HTTP_PROXY="http://<Domain>\<user>:<password>@<URL Proxy>:<Port>"

Sources

Pour aller plus loin

La version 5 de PWS est déjà présentée (ne fonctionne que sous Windows 8.x): http://learn-powershell.net/2014/04/03/checking-out-oneget-in-powershell-v5/

Une réponse intéressante de Jeffrey Snover (Designer PowerShell) sur les différences et avantages de PowerShell et CygWin.: http://stackoverflow.com/questions/573623/is-powershell-ready-to-replace-my-cygwin-shell-on-windows#573861