Partager via


Choisir l’outil en ligne de commande Azure approprié

Quand il s’agit de gérer Azure, vous avez de nombreuses options. Cet article compare le langage Azure CLI et Azure PowerShell et fournit une comparaison des environnements shell sur lesquels ils s’exécutent.

Azure CLI, Azure PowerShell et Azure Cloud Shell ont des fonctionnalités qui se chevauchent. Chacun fonctionne différemment, et la langue est parfois confondue avec l’environnement. Utilisez ce guide pour déterminer quel est l’outil approprié pour vous.

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

Azure fonctionne grâce à l'automatisation. Chaque action que vous effectuez à l’intérieur du portail se traduit quelque part par le code exécuté pour lire, créer, modifier ou supprimer des ressources.

Le déplacement de votre charge de travail vers Azure soulève une partie du fardeau administratif, mais pas tous. À mesure que votre taux d’adoption d’Azure augmente, la surcharge augmentera également. Même si vous n’avez pas à vous soucier du centre de données, vous devez toujours corriger et dépanner les machines virtuelles Azure, les bases de données de basculement et configurer des 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, normalisent les basculements de base de données et extrayent les données qui fournissent des insights puissants. Les outils en ligne de commande vous permettent non seulement de mettre à l’échelle vos tâches dans Azure, mais ils facilitent également le partage. Le partage d’un script est beaucoup plus facile qu’une longue page wiki avec des captures d’écran fastidieuses.

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

Azure CLI et 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, 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 d’autres interpréteurs de commandes Unix.

Azure PowerShell

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

Différents environnements shell

Environnement Shell Azure CLI (Interface de ligne de commande Azure) Azure PowerShell
Cmd Oui
Cogner Oui
Windows PowerShell Oui Oui
PowerShell Oui Oui

Windows PowerShell, PowerShell, Cmd et Bash sont des environnements 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 tandis que Windows PowerShell utilise le backtick `. Les différences dans l’environnement d’interpréteur de commandes ne changent pas le fonctionnement d’Azure CLI et d’Azure PowerShell. 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 shell.

Azure PowerShell est un ensemble d’applets de commande empaquetées en tant que module PowerShell nommé Az; pas un exécutable. Windows PowerShell ou PowerShell doit être utilisé pour installer le Az module.

Windows PowerShell est l’interpréteur de commandes de script standard qui est préinstallé avec la plupart des systèmes d’exploitation Windows. PowerShell est une installation autonome qui utilise .NET Core pendant son exécution, ce qui lui permet d’être installé sur macOS, Linux et Windows.

Points clés :

  • AzureRM est un module PowerShell qui est toujours référencé pour l’administration Azure avec PowerShell. Toutefois, il a été remplacé par Azure PowerShell et a une date de mise hors service officielle du 29 février 2024.

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

Qu’en est-il d’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 basculer facilement entre les deux environnements.

Cloud Shell est accessible dans un navigateur web et dispose d’intégrations pour le terminal Windows et Visual Studio Code.

Environnements Azure CloudShell Bash et PowerShell

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 la planification de publication pour les trois outils est différente. Toutefois, Azure Cloud Shell est généralement considéré comme contenant toujours les versions les plus récentes des deux outils.

Quel outil en ligne de commande Azure vous convient ?

Lorsque vous choisissez l’outil approprié, tenez compte de votre expérience passée et de votre environnement de travail actuel.

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

Azure PowerShell est un module PowerShell. Si vous travaillez principalement avec des systèmes Windows, Azure PowerShell est un ajustement naturel. Les commandes suivent un schéma de nommage verbe-nom et les données sont renvoyées sous forme d’objets.

Choisissez l’outil qui se sert de votre expérience et écourte votre courbe d’apprentissage. Tirez parti de l’apprentissage microsoft pour devenir compétent pour gérer Azure sur la ligne de commande.

Cela dit, être ouvert d’esprit ne va améliorer vos capacités que. Utilisez un outil différent lorsque cela est pertinent.

Points clés :

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

Azure CLI et Azure PowerShell : Comparaison des commandes côte à côte

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

Commande Azure CLI (Interface de ligne de commande Azure) Azure PowerShell
Se connecter avec un navigateur web az login Connect-AzAccount
Obtenir les abonnements disponibles az account list (liste des comptes) Get-AzSubscription
Définir un abonnement az account set –-subscription SubscriptionId <> <Set-AzContext -Subscription ID d'abonnement>
Répertorier les emplacements Azure az account list-locations Get-AzLocation

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

Commande Azure CLI (Interface de ligne de commande Azure) Azure PowerShell
Rechercher une version az --version Get-InstalledModule -Name Az
Obtenir de l’aide az --help Get-Help
Afficher l’aide sur les commandes az vm --help Get-Help -Name New-AzVM

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

Commande Azure CLI (Interface de ligne de commande Azure) Azure PowerShell
Créer un groupe de ressources az group create --name <ResourceGroupName> --location est des États-Unis New-AzResourceGroup -Nom <ResourceGroupName> -Emplacement 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 Pour créer un compte de stockage Azure, utilisez la commande suivante : ``` az storage account create --name <StorageAccountName> --resource-group <ResourceGroupName> --location eastus --sku Standard_LRS --kind StorageV2 ``` Remplacez `<StorageAccountName>` par le nom souhaité pour votre compte de stockage et `<ResourceGroupName>` par le nom de votre groupe de ressources. <New-AzStorageAccount -Name StorageAccountName> -ResourceGroupName <ResourceGroupName> -Location eastus -SkuName Standard_LRS -Kind StorageV2

Gérer les machines virtuelles Azure :

Commande Azure CLI (Interface de ligne de commande Azure) Azure PowerShell
Lister une machine virtuelle az vm list Get-AzVM
Redémarrer une machine virtuelle az vm restart --name myVM --resource-group <ResourceGroupName> Restart-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Arrêter la machine virtuelle az vm stop --nom myVM --groupe-de-ressources <NomDuGroupeDeRessources> Stop-AzVM -Name myVM -ResourceGroupName <NomGroupeDeRessources>
Arrêter et désallouer une machine virtuelle az vm deallocate --name myVM --resource-group <ResourceGroupName> Stop-AzVM -Name myVM -ResourceGroupName <NomGroupeDeRessources>
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électionnez propriétés et modifiez les formats de sortie :

Commande Azure CLI (Interface de ligne de commande Azure) Azure PowerShell
Afficher toutes les informations d’abonnement az account list --all Get-AzSubscription | Select-Object -Property *
Sortie sous forme de tableau az account list -o table Get-AzSubscription | Format-Table
Sortie au format JSON az account show - afficher le compte Get-AzSubscription | ConvertTo-Json

Points clés :

Étapes suivantes

Azure CLI :

Azure PowerShell :