Recherche de site Web

Premiers pas avec PowerShell sous Linux [Guide du débutant]


Après que Microsoft soit tombé amoureux de Linux (ce que l'on appelle communément « Microsoft Loves Linux »), PowerShell qui était à l'origine un Windows -uniquement composant, était open source et rendu multiplateforme le 18 août 2016, disponible sur Linux et Mac OS.

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

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

Dans ce cadre, les tâches administratives sont essentiellement effectuées par des classes .NET particulières appelées cmdlets (prononcé command-lets).

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

Installer PowerShell sur les systèmes Linux

Pour installer PowerShell sous Linux, nous utiliserons le référentiel officiel de Microsoft qui nous permettra d'installer via les outils de gestion de packages Linux les plus populaires tels que apt-get ou apt et yum ou dnf.

Installer PowerShell sur Ubuntu

Importez d'abord les clés GPG du référentiel public, puis enregistrez le référentiel Microsoft Ubuntu dans la liste des sources du package 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 Debian 11

PowerShell pour les versions de distribution Debian est publié dans les référentiels de packages pour une installation et des 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 Debian 10

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 les distributions basées sur RHEL telles que CentOS Stream, Rocky et AlmaLinux sont publiées dans les référentiels Microsoft officiels 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 sous Linux

Dans cette section, nous aurons une brève introduction à Powershell ; où nous verrons comment démarrer PowerShell, exécuter quelques commandes de base et voir comment travailler avec des fichiers, des répertoires et des processus. Ensuite, expliquez comment répertorier toutes les commandes disponibles et afficher l'aide et les alias des commandes.

Pour démarrer Powershell, tapez :

pwsh

PowerShell 7.3.3
PS /root> 

Vous pouvez vérifier la version 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écuter quelques commandes Powershell de base sous Linux.

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

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

Ajoutez-y ensuite du contenu et affichez le contenu du fichier.

set-content tecmint.tex -value "TecMint Linux How Tos Guides"
get-content tecmint.tex

2. Supprimez un fichier dans PowerShell.

remove-item tecmint.tex
get-content tecmint.tex

3. Créez un nouveau répertoire.

mkdir  tecmint-files
cd  tecmint-files
“”>domains.list
ls

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

dir

5. Affichez tous les processus en cours d'exécution sur votre système :

get-process

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

get-process apache2

Signification des unités dans le résultat ci-dessus :

  • NPM(K) : quantité de mémoire non paginée utilisée par le processus, en kilo-octets.
  • PM(K) : quantité de mémoire paginable utilisée par le processus, en kilo-octets.
  • WS(K) : taille de l'ensemble de travail du processus, en kilo-octets. L'ensemble de travail est constitué des pages de mémoire récemment référencées par le processus.
  • CPU(s) : temps de processeur utilisé par le processus sur tous les processeurs, en secondes.
  • ID – ID 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

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

get-help Describe

9. affichez tous les alias de commande disponibles, tapez :

get-alias

10. Enfin, affichez l'historique des commandes (liste des commandes que vous avez exécutées précédemment) comme ceci :

history

C'est tout! pour l'instant, dans cet article, nous vous avons montré comment installer Powershell de Microsoft sous Linux. Pour moi, Powershell a encore un très long chemin à parcourir par rapport aux shells Unix/Linux traditionnels qui offrent, bien mieux, des fonctionnalités plus intéressantes et plus productives pour faire fonctionner une machine à partir de la ligne de commande et, surtout, à des fins de programmation (script). aussi.

Visitez le référentiel Powershell Github : https://github.com/PowerShell/PowerShell

Cependant, vous pouvez essayer et partager votre point de vue avec nous dans les commentaires.