Partager via


Choisir le bon outil de ligne de commande Azure

Pour la gestion d’Azure, vous disposez de nombreuses options. Cet article compare Azure CLI et le langage Azure PowerShell et offre un comparatif des environnements de shell sur lesquels ils s’exécutent.

Azure CLI, Azure PowerShell et Azure Cloud Shell ont des fonctionnalités qui se recoupent. Chacun fonctionne différemment et il peut parfois y avoir confusion entre le langage et l’environnement. Utilisez ce guide pour déterminer l’outil qui vous convient.

Quel est l’avantage d’utiliser un outil en ligne de commande Azure ?

Azure s’exécute sur automatisation. Chaque action que vous effectuez dans le portail est traduite quelque part en code qui s’exécute pour lire, créer, modifier ou supprimer des ressources.

Le déplacement de votre charge de travail vers Azure enlève une partie du poids des tâches administratives, mais pas la totalité. Votre surcharge augmente en même temps que votre taux d’adoption avec Azure. Même si vous n’avez pas à vous soucier du centre de données, vous devez quand même corriger et dépanner les machines virtuelles Azure, basculer les bases de données et configurer les réseaux virtuels.

En utilisant l’automatisation existante qui exécute Azure, les outils en ligne de commande réduisent cette surcharge.

Qu’est-ce que les outils en ligne de commande Azure ?

Les outils en ligne de commande Azure automatisent les opérations de routine, standardisent les basculements de bases de données et extraient les données qui fournissent des insights importants. Les outils en ligne de commande vous permettent non seulement de mettre à l’échelle vos tâches dans Azure, mais également de les partager beaucoup plus facilement. Le partage d’un script est beaucoup plus facile qu’une longue page wiki avec des captures d’écran qui prennent du temps.

L’utilisation d’un outil en ligne de commande Azure n’est pas toujours nécessaire, mais c’est une compétence utile.

Azure CLI ou Azure PowerShell

Azure CLI et Azure PowerShell sont des outils en ligne de commande qui vous permettent de créer et de gérer des ressources Azure. Les deux sont multiplateformes et installables sur Windows, macOS et Linux.

Azure CLI

  • Interface de ligne de commande multiplateforme, installable sur Windows, macOS, Linux
  • S’exécute dans Windows PowerShell, Cmd ou Bash et autres shells UNIX.

Azure PowerShell

  • Module PowerShell multiplateforme, s’exécute sur Windows, macOS, Linux
  • Windows PowerShell ou PowerShell requis

Différents environnements de shell

Environnement de shell Azure CLI Azure PowerShell
Cmd Oui
Bash Oui
Windows PowerShell Oui Oui
PowerShell Oui Oui

Windows PowerShell, PowerShell, Cmd et Bash sont des environnements de shell. Votre environnement de shell non seulement détermine les outils que vous pouvez utiliser, mais aussi change votre expérience de ligne de commande.

Par exemple, pour le caractère de continuation de ligne, Bash utilise la barre oblique inverse (\) alors que Windows PowerShell utilise l’accent grave (`). Les différences dans l’environnement de shell ne changent pas la manière dont Azure CLI et Azure PowerShell fonctionnent. Par contre, ils changent votre expérience de ligne de commande.

Azure CLI dispose d’un programme d’installation qui rend ses commandes exécutables dans les quatre environnements de shell.

Azure PowerShell est un ensemble d’applets de commande empaquetées sous forme de module PowerShell appelé Az, pas un exécutable. Windows PowerShell ou PowerShell doit être utilisé pour installer le module Az.

Windows PowerShell est le shell de script standard qui vient préinstallé avec la plupart des systèmes d’exploitation Windows. PowerShell est une installation autonome qui utilise .NET Core comme runtime, ce qui permet de l’installer sur macOS, Linux et Windows.

Points essentiels :

  • AzureRM est un module PowerShell qui est encore référencé pour l’administration d’Azure avec PowerShell. Toutefois, il a été remplacé par Azure PowerShell et sa date officielle de suppression est fixée au 29 février 2024.

Si vous utilisez AzureRM, vous pouvez migrer Azure PowerShell depuis AzureRM vers Az.

Qu’est-ce qu’Azure Cloud Shell ?

Azure Cloud Shell est un environnement de shell hébergé qui s’exécute sur un conteneur Ubuntu.

Cloud Shell fournit deux environnements de shell : Bash (avec Azure CLI préinstallé) et PowerShell (avec Azure PowerShell préinstallé). Une liste déroulante en haut de la fenêtre Cloud Shell vous permet de passer facilement d’un environnement à l’autre.

Cloud Shell est accessible dans un navigateur web et a des intégrations pour Windows Terminal et Visual Studio Code.

Azure CloudShell Bash and PowerShell environments

Remarque

Azure Cloud Shell peut ne pas toujours refléter immédiatement les versions les plus récentes d’Azure PowerShell et d’Azure CLI, car le calendrier de publication de ces trois outils est différent. Toutefois, Azure Cloud Shell est généralement censé contenir les versions les plus récentes des deux outils.

Quel outil en ligne de commande Azure vous convient ?

Quand vous choisissez le bon outil, prenez en compte votre expérience passée et votre environnement de travail actuel.

La syntaxe Azure CLI est similaire à celle des scripts Bash. Si vous travaillez principalement avec des systèmes Linux, Azure CLI vous semble plus naturel.

Azure PowerShell est un module PowerShell. Si vous travaillez principalement avec des systèmes Windows, Azure PowerShell vous semble plus naturel. Les commandes suivent un schéma de nommage verbe-nom et les données sont retournées en tant qu’objets.

Choisissez l’outil qui se sert de votre expérience et écourte votre courbe d’apprentissage. Tirez parti des formations Microsoft pour devenir expert en gestion d’Azure en utilisant la ligne de commande.

Cela étant dit, être ouvert d’esprit n’améliore que vos aptitudes. Utilisez un autre outil lorsque cela tombe sous le sens.

Points essentiels :

  • La parité des fonctionnalités dans les services Azure n’existe pas toujours entre Azure CLI et Azure PowerShell.

Azure CLI et Azure PowerShell : comparaison des commandes

Commandes de connexion, d’abonnement et d’emplacement :

Commande Azure CLI Azure PowerShell
Se connecter avec un navigateur web az login Connect-AzAccount
Obtenir les abonnements disponibles az account list Get-AzSubscription
Définir un abonnement az account set –subscription <SubscriptionId> Set-AzContext -Subscription <SubscriptionID>
Lister les emplacements Azure az account list-locations Get-AzLocation

Rechercher des versions, obtenir de l’aide et afficher l’aide des commandes :

Commande Azure CLI Azure PowerShell
Rechercher une version az --version Get-InstalledModule -Name Az
Obtenir de l’aide az --help Get-Help
Afficher l’aide des commandes az vm --help Get-Help -Name New-AzVM

Créer un groupe de ressources, une machine virtuelle et un compte de stockage :

Commande Azure CLI Azure PowerShell
Créer un groupe de ressources az group create --name <ResourceGroupName> --location eastus New-AzResourceGroup -Name <ResourceGroupName> -Location eastus
Créer une machine virtuelle Azure az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --admin-password '<Password>' New-AzVM -ResourceGroupName <ResourceGroupName> -Name myVM -Image UbuntuLTS -Credential (Get-Credential)
Créer un compte de stockage Azure az storage account create --name <StorageAccountName> --resource-group <ResourceGroupName> --location eastus --sku Standard_LRS --kind StorageV2 New-AzStorageAccount -Name <StorageAccountName> -ResourceGroupName <ResourceGroupName> -Location eastus -SkuName Standard_LRS -Kind StorageV2

Gérer les machines virtuelles Azure :

Commande Azure CLI Azure PowerShell
Lister une machine virtuelle az vm list Get-AzVM
Redémarrer la machine virtuelle az vm restart --name myVM --resource-group <ResourceGroupName> Restart-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Arrêter la machine virtuelle az vm stop --name myVM --resource-group <ResourceGroupName> Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Arrêter et désallouer une machine virtuelle az vm deallocate --name myVM --resource-group <ResourceGroupName> Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Démarrer une machine virtuelle az vm start --name myVM --resource-group <ResourceGroupName> Start-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Supprimer une machine virtuelle az vm delete --name myVM --resource-group <ResourceGroupName> Remove-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>

Sélectionner des propriétés et changer les formats de sortie :

Commande Azure CLI Azure PowerShell
Afficher toutes les informations d’abonnement az account list --all Get-AzSubscription | Select-Object -Property *
Sortir au format tableau az account list -o table Get-AzSubscription | Format-Table
Sortir au format JSON az account show Get-AzSubscription | ConvertTo-Json

Points essentiels :

Étapes suivantes

Azure CLI :

Azure PowerShell :