Automatize a implantação usando o PowerShell

Concluído

O PowerShell é um shell de comando moderno e multiplataforma projetado para simplificar o gerenciamento de tarefas e aprimorar a automação. Ele fornece aos administradores recursos de linha de comando poderosos que, quando automatizados, ajudam a reduzir os custos operacionais.

O PowerShell pode lidar com texto e objetos .NET, tornando-se uma ferramenta de linha de comando versátil e tudo-em-um.

Alguns dos principais benefícios do PowerShell incluem:

  • Histórico de linha de comando robusto
  • Conclusão de tabulação e previsão de comandos
  • Suporte para apelidos de comandos e parâmetros
  • Pipeline para encadeamento de comandos
  • Sistema de ajuda no console

O módulo principal do PowerShell, o módulo Az PowerShell, é um conjunto de cmdlets de código aberto. Ele permite que você gerencie recursos do Azure diretamente do PowerShell, habilitando a criação de recursos, modificação, recuperação de status e implantações baseadas em modelo.

Módulo do PowerShell Az.Sql

O módulo Az.Sql PowerShell é um subconjunto do módulo Az PowerShell, permitindo que você gerencie e implante recursos SQL do Azure. Com os cmdlets Az.Sql , você pode lidar com tudo, desde a criação de bancos de dados até a configuração da replicação geográfica e o gerenciamento completo do SQL do Azure.

Você pode usar o módulo Az.Sql PowerShell em vários ambientes, incluindo PowerShellGet, Azure Cloud Shell e um contêiner Az PowerShell Docker.

Não importa como você usa o PowerShell, a sintaxe permanece consistente com a estrutura verbo-substantivo.

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

Os comandos sempre começam com um nome de comando, como Get-AzSqlServer, que retorna informações sobre um ou mais servidores lógicos para o Banco de Dados SQL do Azure. O "command-name" é seguido por um Parameter Name com <-ServerName> sendo um parâmetro aplicável para Get-AzSQLServer. Isso é seguido com um valor de parâmetro, que é escrito em forma de cadeia de caracteres. O exemplo a seguir mostra o uso do comando Get-AzSqlServer com vários parâmetros com os seus valores de retorno:

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

Aqui estão mais alguns exemplos, como criar uma nova instância gerenciada SQL e como criar um banco de dados em um servidor específico:

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"

Aqui está um exemplo que cria uma nova instância gerenciada SQL com administrador externo do Microsoft Entra, autenticação somente Microsoft Entra, e sem 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

Para saber mais sobre a lista completa de nomes de comandos para o módulo Az.Sql, consulte Azure PowerShell Az.Sql.