Automatización de la implementación mediante PowerShell
PowerShell es un shell de comandos multiplataforma moderno diseñado para simplificar la administración de tareas y mejorar la automatización. Proporciona a los administradores características eficaces de línea de comandos que, cuando se automatizan, ayudan a reducir los costos operativos.
PowerShell puede controlar objetos de texto y .NET, lo que lo convierte en una herramienta versátil de línea de comandos todo en uno.
Algunas de las principales ventajas de PowerShell son:
- Un historial de línea de comandos sólido.
- Finalización con tabulación y predicción de comandos
- Compatibilidad con alias de parámetros y comandos
- Canalización para encadenar comandos.
- Sistema de ayuda en la consola
El módulo principal de PowerShell, el módulo Az de PowerShell, es un conjunto de cmdlets de código abierto. Permite administrar recursos de Azure directamente desde PowerShell, lo que permite la creación de recursos, la modificación, la recuperación de estado y las implementaciones basadas en plantillas.
Módulo Az.Sql de PowerShell
El módulo Az.Sql PowerShell es un subconjunto del módulo de Az PowerShell, lo que le permite administrar e implementar recursos de Azure SQL. Con los cmdlets Az.Sql , puede controlar todo, desde la creación de bases de datos hasta la configuración de la replicación geográfica y la administración completa de Azure SQL.
Puede usar el módulo de PowerShell Az.Sql en varios entornos, como PowerShellGet, Azure Cloud Shell y un contenedor de Docker de Az PowerShell.
Independientemente de cómo use PowerShell, la sintaxis sigue siendo coherente con la estructura verbo-sustantivo.
<command-name> -<Required Parameter Name> <Required Parameter Value>
[-<Optional Parameter Name> <Optional Parameter Value>]
[-<Optional Switch Parameters>]
[-<Optional Parameter Name>] <Required Parameter Value>
Los comandos siempre comienzan con un nombre de comando, como Get-AzSqlServer, que devuelve información sobre uno o varios servidores lógicos para Azure SQL Database. Después, el "nombre de comando" va seguido de un nombre de parámetro con <ServerName> como un parámetro aplicable para Get-AzSQLServer. Luego se sigue con un valor de parámetro, que se escribe en forma de cadena. En el ejemplo siguiente se muestra el uso del Get-AzSqlServer comando con varios parámetros con sus valores devueltos:
Get-AzSqlServer -ResourceGroupName "ResourceGroup01" -ServerName "Server01"
Estos son algunos ejemplos más, como cómo crear una nueva instancia administrada de SQL y cómo crear una base de datos en un 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"
Este es un ejemplo que crea una nueva instancia administrada de SQL con el administrador externo de Microsoft Entra, la autenticación solo de Microsoft Entra y sin 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 más información sobre la lista completa de nombres de comandos para el módulo Az.Sql, consulte Azure PowerShell Az.Sql.