Automatizzare la distribuzione con PowerShell

Completato

PowerShell è una shell dei comandi multipiattaforma moderna progettata per semplificare la gestione delle attività e migliorare l'automazione. Offre agli amministratori funzionalità avanzate della riga di comando che, quando automatizzate, consentono di ridurre i costi operativi.

PowerShell può gestire sia oggetti di testo che oggetti .NET, rendendolo uno strumento da riga di comando versatile e all-in-one.

Alcuni vantaggi principali di PowerShell includono:

  • Cronologia della riga di comando affidabile
  • Completamento tramite tasto TAB e previsione dei comandi
  • Supporto per alias di comandi e parametri
  • Pipeline per il concatenamento dei comandi
  • Sistema della Guida nella console

Il modulo principale di PowerShell, il modulo Az PowerShell, è un set open source di cmdlet. Consente di gestire le risorse di Azure direttamente da PowerShell, abilitando la creazione, la modifica, il recupero dello stato e le distribuzioni basate su modelli.

Modulo Az.Sql PowerShell

Il modulo Az.Sql PowerShell è un subset del modulo Az PowerShell, che consente di gestire e distribuire risorse SQL di Azure. Con i cmdlet Az.Sql è possibile gestire tutti gli elementi, dalla creazione di database alla configurazione della replica geografica e alla gestione completa di SQL di Azure.

È possibile usare il modulo Az.Sql PowerShell in vari ambienti, tra cui PowerShellGet, Azure Cloud Shell e un contenitore Az PowerShell Docker.

Indipendentemente dal modo in cui si usa PowerShell, la sintassi rimane coerente con la struttura verbo-sostantivo.

<command-name> -<Required Parameter Name> <Required Parameter Value>
[-<Optional Parameter Name> <Optional Parameter Value>]
[-<Optional Switch Parameters>]
[-<Optional Parameter Name>] <Required Parameter Value>

I comandi iniziano sempre con un nome di comando, ad esempio Get-AzSqlServer, che restituisce informazioni su uno o più server logici per il database SQL di Azure. "command-name" è quindi seguito da un nome di parametro con <-ServerName> come parametro applicabile per Get-AzSQLServer. Segue quindi un valore di parametro, scritto in un formato stringa. L'esempio seguente illustra l'utilizzo del Get-AzSqlServer comando con più parametri con i relativi valori restituiti:

Get-AzSqlServer -ResourceGroupName "ResourceGroup01" -ServerName "Server01"

Ecco alcuni altri esempi, ad esempio come creare una nuova istanza gestita di SQL e come creare un database in un server specifico:

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"

Ecco un esempio che crea una nuova istanza gestita di SQL con amministratore esterno di Microsoft Entra, solo autenticazione Microsoft Entra e nessuna 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

Per altre informazioni sull'elenco completo dei nomi dei comandi per il modulo Az.Sql, vedere Azure PowerShell Az.Sql.