Démarrer avec PowerShell sous Linux [Guide pour débutants]

Après que Microsoft soit tombée amoureuse de Linux (ce qui est communément devenu connu sous le nom de « Microsoft Loves Linux »), PowerShell, qui était à l’origine un composant exclusivement Windows, a été open-sourcé et rendu multiplateforme le18 août2016, disponible sur Linux et Mac OS.

PowerShell est un système d’automatisation des tâches et de gestion de la configuration développé par Microsoft. Il se compose d’un interprète de langage de commande (shell) et d’un langage de script construit sur le .NET Framework.

Il offre un accès complet aux COM (Component Object Model) et WMI (Windows Management Instrumentation), permettant ainsi aux administrateurs système de réaliser des tâches administratives sur des systèmes Windows locaux et distants ainsi que WS-Management et CIM (Common Information Model) permettant la gestion de systèmes Linux distants et de périphériques réseau.

Dans ce cadre, les tâches d’administration sont essentiellement effectuées par des classes .NET spécifiques appelées cmdlets (prononcé command-lets).

Comme les scripts shell dans Linux, les utilisateurs peuvent créer des scripts ou des exécutables en stockant des groupes de cmdlets dans des fichiers en suivant certaines règles. Ces scripts peuvent être utilisés comme des outils ou utilitaires en ligne de commande indépendants.

Installer PowerShell sur les systèmes Linux

Pour installer PowerShell sous Linux, nous utiliserons le dépôt officiel Microsoft qui nous permettra d’installer à travers les outils de gestion de paquets Linux les plus populaires tels que apt-get ou apt et yum ou dnf.

Installer PowerShell sur Ubuntu

Tout d’abord, importez les clés GPG du dépôt public, puis inscrivez le dépôt Microsoft Ubuntu dans la liste des sources de paquets APT pour installer Powershell:

$ sudo apt-get update
$ sudo apt-get install -y wget apt-transport-https software-properties-common
$ wget -q "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb"
$ sudo dpkg -i packages-microsoft-prod.deb
$ sudo apt-get update
$ sudo apt-get install -y powershell

Installer PowerShell sur Debian11

PowerShell pour les versions de la distribution Debian est publié dans des dépôts de paquets pour une installation et mises à jour faciles.

$ sudo apt update
$ sudo apt install -y curl gnupg apt-transport-https
$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-bullseye-prod bullseye main" > /etc/apt/sources.list.d/microsoft.list'
$ sudo apt update
$ sudo apt install -y powershell

Installer PowerShell sur Debian10

$ wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
$ sudo apt-get update
$ sudo apt-get install -y powershell

Installer PowerShell sur les systèmes RHEL

PowerShell pour distributions basées sur RHEL telles que CentOS Stream, Rocky, et AlmaLinux sont publiés dans les dépôts officiels Microsoft pour une installation et des mises à jour faciles.

---------- On RHEL, CentOS, Rocky & AlmaLinux 9 ---------- 
$ curl https://packages.microsoft.com/config/rhel/9.0/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo dnf install --assumeyes powershell

---------- On RHEL, CentOS, Rocky & AlmaLinux 8 ----------
$ curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo dnf install --assumeyes powershell

---------- On RHEL/CentOS 7 ----------
$ curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo dnf install --assumeyes powershell

Comment utiliser Powershell dans Linux

Dans cette section, nous introduirons brièvement Powershell ; où nous verrons comment démarrer powershell, exécuter quelques commandes de base et examiner comment travailler avec des fichiers, des répertoires et des processus. Puis plonger dans la façon de lister toutes les commandes disponibles, et montrer l’aide de commande et les alias.

Pour démarrer Powershell, tapez :

$ pwsh

PowerShell 7.3.3
PS /root> 

Vous pouvez vérifier la version de Powershell avec la commande ci-dessous :

PS /root> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.3.3
PSEdition                      Core
GitCommitId                    7.3.3
OS                             Linux 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30)
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Exécution de commandes Powershell de base sur Linux.

get-date          [# Display current date]
get-uptime        [# Display server uptime]
get-location      [# Display present working directory]
Running PowerShell Commands

Travailler avec des fichiers et des répertoires dans Powershell

1. Créez un nouveau fichier vide en utilisant les deux méthodes ci-dessous :

new-item  tecmint.tex
OR
“”>tecmint.tex

Ensuite, ajoutez du contenu et consultez le contenu du fichier.

set-content tecmint.tex -value "TecMint Linux How Tos Guides"
get-content tecmint.tex
Create New File in Powershell

2. Supprimer un fichier dans Powershell.

remove-item tecmint.tex
get-content tecmint.tex
Delete File in Powershell

3. Créer un nouveau répertoire.

mkdir  tecmint-files
cd  tecmint-files
“”>domains.list
ls
Create a Directory in Powershell

4. Pour effectuer une liste détaillée, qui affiche les détails d’un fichier/répertoire y compris le mode (type de fichier), et l’heure de dernière modification.

dir
Directory Long Listing in Powershell

5. Afficher tous les processus en cours sur votre système:

get-process
View Running Processes in Powershell

6. Pour afficher les détails d’un seul/groupe de processus en cours avec un nom donné, fournissez le nom du processus en argument à la commande précédente comme suit:

get-process apache2
View Specific Process in Powershell

Signification des unités dans la sortie ci-dessus:

  • NPM(K) – la quantité de mémoire non paginable que le processus utilise, en kilooctets.
  • PM(K) – la quantité de mémoire paginable que le processus utilise, en kilooctets.
  • WS(K) – la taille du jeu de travail du processus, en kilooctets. Le jeu de travail consiste en les pages de mémoire qui ont été récemment référencées par le processus.
  • CPU(s) – la quantité de temps processeur que le processus a utilisé sur tous les processeurs, en secondes.
  • ID – identifiant de processus (PID).
  • ProcessName – le nom du processus.

7. Pour en savoir plus, obtenez une liste de toutes les commandes Powershell pour différentes tâches:

get-command
List Powershell Commands

8. Pour apprendre à utiliser une commande, consultez sa page d’aide (similaire à la page man en Unix/Linux); dans cet exemple, vous pouvez obtenir de l’aide pour la commande Describe:

get-help Describe
Powershell Help Manual

9. Pour voir toutes les alias de commande disponibles, tapez :

get-alias
List Powershell Command Aliases

10. Enfin, mais pas des moindres, affichez l’historique des commandes (liste des commandes que vous avez exécutées précédemment) comme suit :

history
List Powershell Commands History

C’est tout ! pour l’instant, dans cet article, nous vous avons montré comment installer Microsoft’s Powershell sur Linux. Pour moi, Powershell a encore beaucoup de chemin à faire en comparaison des shells Unix/Linux traditionnels qui offrent, de loin, des fonctionnalités plus intéressantes et productives pour opérer une machine depuis la ligne de commande et, ce qui est important, pour la programmation (scripting) également.

Visitez le dépôt Github de Powershell : https://github.com/PowerShell/PowerShell

Néanmoins, vous pouvez l’essayer et partager vos avis avec nous dans les commentaires.

Source:
https://www.tecmint.com/install-powershell-in-linux/