Durante el pasado Build se presentaron varias características con el objetivo de mejorar la automatización de procesos. Una de ellas es la llamada Custom script extension, con la que seremos capaces de proporcionar un script en Powershell, durante el asistente de creación de máquinas virtuales, para que este sea lanzado justo después de que concluya la creación.
En este post voy a aprovechar el contexto de uno de los últimos, donde hablaba del servicio Azure Files, para mostrar cómo es posible mapear un recurso compartido a través de esta característica.
En primer lugar, he creado un script con el siguiente código:
$Account = "azurefilesdemogis" $Key = "YOUR_KEY" $ShareFolder = "azurefilesfolder" $cmd = "net use z: \$Account.file.core.windows.net$ShareFolder /u:$Account $Key" $cmd | Set-Content "c:ProgramDataMicrosoftWindowsStart MenuProgramsStartUpmapping.cmd" Restart-Computer -Force
El mismo debe tener extensión ps1 y tenemos la opción tanto de recuperarlo desde local o bien desde una cuenta de Storage:
Si lo que queremos es reutilizar el script con diferentes argumentos, también podemos hacer que el mismo acepte un conjunto de parámetros:
Param( [string]$Account, [string]$Key, [string]$ShareFolder) $cmd = "net use z: \$Account.file.core.windows.net$ShareFolder /u:$Account $Key" $cmd | Set-Content "c:ProgramDataMicrosoftWindowsStart MenuProgramsStartUpmapping.cmd" Restart-Computer -Force
De esta otra manera, podremos asociar los valores requeridos a través del asistente de la creación de la VM:
-Account "azurefilesdemogis" -Key "YOUR_KEY" -ShareFolder "azurefilesfolder"
Una vez que el proceso de creación e inicio de la máquina haya finalizado, podemos acceder de manera remota para comprobar el resultado:
El directorio donde se almacena el script asociado durante el asistente se encuentra en C:PackagesPluginsMicrosoft.Compute.CustomScriptExtension1.0.3Downloads.
Espero que sea de utilidad.
¡Saludos!