Automatiser le déploiement à l’aide de PowerShell
PowerShell est un interpréteur de commandes multiplateforme moderne conçu pour simplifier la gestion des tâches et améliorer l’automatisation. Il fournit aux administrateurs des fonctionnalités de ligne de commande puissantes qui, lorsqu’elles sont automatisées, permettent de réduire les coûts opérationnels.
PowerShell peut gérer à la fois du texte et des objets .NET, ce qui en fait un outil en ligne de commande polyvalent et tout-en-un.
Voici quelques-uns des principaux avantages de PowerShell :
- Historique de lignes de commande robuste
- Complétion via la touche Tab et prédiction des commandes
- Prise en charge des alias de commande et de paramètre
- Pipeline pour le chaînage des commandes
- Système d’aide dans la console
Le module principal de PowerShell, le module Az PowerShell, est un ensemble open source d’applets de commande. Il vous permet de gérer les ressources Azure directement à partir de PowerShell, en activant la création, la modification, la récupération d’état et les déploiements basés sur des modèles.
Module Az.Sql PowerShell
Le module Az.Sql PowerShell est un sous-ensemble du module Az PowerShell, ce qui vous permet de gérer et de déployer des ressources Azure SQL. Avec les applets de commande Az.Sql , vous pouvez gérer tous les éléments de la création de bases de données à la configuration de la géoréplication et de la gestion complète d’Azure SQL.
Vous pouvez utiliser le module Az.Sql PowerShell dans différents environnements, notamment PowerShellGet, Azure Cloud Shell et un conteneur Docker Az PowerShell.
Quelle que soit la façon dont vous utilisez PowerShell, la syntaxe reste cohérente avec la structure de nom de verbe.
<command-name> -<Required Parameter Name> <Required Parameter Value>
[-<Optional Parameter Name> <Optional Parameter Value>]
[-<Optional Switch Parameters>]
[-<Optional Parameter Name>] <Required Parameter Value>
Les commandes commencent toujours par un nom de commande, par exemple Get-AzSqlServer, qui retourne des informations sur un ou plusieurs serveurs logiques pour Azure SQL Database. Le nom de la commande (« command-name ») est ensuite suivi d’un nom de paramètre où <-ServerName> est un paramètre applicable pour Get-AzSQLServer. Il est ensuite suivi d’une valeur de paramètre, qui est écrite sous forme de chaîne. L’exemple suivant montre l’utilisation de la Get-AzSqlServer commande avec plusieurs paramètres avec ses valeurs de retour :
Get-AzSqlServer -ResourceGroupName "ResourceGroup01" -ServerName "Server01"
Voici quelques exemples supplémentaires, tels que la création d’une instance managée SQL et la création d’une base de données sur un serveur spécifique :
New-AzSqlInstance -Name managedInstance2 -ResourceGroupName ResourceGroup01 -Location westcentralus -AdministratorCredential (Get-Credential) -SubnetId "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourcegroup01/providers/Microsoft.Network/virtualNetworks/vnet_name/subnets/subnet_name" -LicenseType LicenseIncluded -StorageSizeInGB 1024 -VCore 16 -Edition "GeneralPurpose" -ComputeGeneration Gen4
New-AzSqlDatabase -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"
Voici un exemple qui crée une instance SQL managée avec un administrateur Microsoft Entra externe, une authentification uniquement via Microsoft Entra et aucun SqlAdministratorCredentials :
New-AzSqlInstance -Name managedInstance2 -ResourceGroupName ResourceGroup01 -ExternalAdminName DummyLogin -EnableActiveDirectoryOnlyAuthentication -Location westcentralus -SubnetId "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourcegroup01/providers/Microsoft.Network/virtualNetworks/vnet_name/subnets/subnet_name" -LicenseType LicenseIncluded -StorageSizeInGB 1024 -VCore 16 -Edition "GeneralPurpose" -ComputeGeneration Gen4
$val = Get-AzSqlInstance -Name managedInstance2 -ResourceGroupName ResourceGroup01 -ExpandActiveDirectoryAdministrator
Pour en savoir plus sur la liste complète des noms de commandes pour le module Az.Sql, consultez Azure PowerShell Az.Sql.