Há pouco tempo precisei modificar um parâmetro do Application Settings em mais de 50 Azure Web App e deveria ser bem simples com Powershell, pois testaria em um Web App, validaria e conseguiria replicar com algumas linhas de código.
Estava enganado, pois diferentemente do Azure Portal, onde eu consigo facilmente ir no Application Settings e modificar um ou mais parâmetros, então salvar as alterações sem perder nenhuma outra, no Powershell não é bem assim.
![](https://viniciusdeschamps.com.br/wp-content/uploads/2024/01/azure-web-app-configuration-application-settings-modificar-azure-portal-viniciusdeschamps.com_.br_-1024x538.png)
IMPORTANTE: Ao realizar a modificação, remoção ou inclusão de parâmetros e salvar, implica na reinicialização do Web App
![](https://viniciusdeschamps.com.br/wp-content/uploads/2024/01/azure-web-app-configuration-application-settings-modificar-azure-portal-parametros-permanecem-viniciusdeschamps.com_.br_.png)
Alterando com Powershell (forma errada)
Para alterar com Powershell, primeiramente me conectei ao Azure, utilizando UseDeviceAuthentication e em seguida modifiquei o contexto para a Subscription que estava utilizando
Em seguida, criei uma varíavel, passando como valor uma hashtable
![](https://viniciusdeschamps.com.br/wp-content/uploads/2024/01/azure-web-app-configuration-application-settings-powershell-hashtable-viniciusdeschamps.com_.br_.png)
e utilizei Set-AzWebApp para aplicar a variável e atualizar o valor do APPINSIGHTS_INSTRUMENTATIONKEY
![](https://viniciusdeschamps.com.br/wp-content/uploads/2024/01/azure-web-app-configuration-application-settings-powershell-set-azwebapp-viniciusdeschamps.com_.br_-1.png)
Mas quando fui verificar no Azure Portal, para minha surpresa, todos os outros valores haviam sido apagados
![](https://viniciusdeschamps.com.br/wp-content/uploads/2024/01/azure-web-app-configuration-application-settings-modificar-powershell-parametros-somem-viniciusdeschamps.com_.br_.png)
Alterando com Powershell e mantendo os valores existentes
Vamos começar pegando as configurações do Web App onde vamos fazer as alterações, neste caso Application Settings
![](https://viniciusdeschamps.com.br/wp-content/uploads/2024/01/azure-web-app-configuration-application-settings-modificar-powershell-mantendo-parametros-1-viniciusdeschamps.com_.br_.png)
Em seguida, vamos criar um objeto, que terá função similar ao hashtable, para receber o nome e valor deste parâmetro
![](https://viniciusdeschamps.com.br/wp-content/uploads/2024/01/azure-web-app-configuration-application-settings-modificar-powershell-mantendo-parametros-2-viniciusdeschamps.com_.br_.png)
Vamos fazer uma verificação para saber se o parâmetro já existe ou não no Application Settings do Web App, caso já exista, apenas o valor do parâmetro é alterado, do contrário, o parâmetro todo será adicionado a variável com as configurações que coletamos no começo deste script
![](https://viniciusdeschamps.com.br/wp-content/uploads/2024/01/azure-web-app-configuration-application-settings-modificar-powershell-mantendo-parametros-3-viniciusdeschamps.com_.br_.png)
Então, iniciamos uma variável com valores que serão dispostos como hashtable, e passamos colocamos nome e valor de cada parâmetro da variável modificada no script para a hashtable
![](https://viniciusdeschamps.com.br/wp-content/uploads/2024/01/azure-web-app-configuration-application-settings-modificar-powershell-mantendo-parametros-4-viniciusdeschamps.com_.br_.png)
E por fim, rodamos o Set-AzWebApp
![](https://viniciusdeschamps.com.br/wp-content/uploads/2024/01/azure-web-app-configuration-application-settings-modificar-powershell-mantendo-parametros-5-viniciusdeschamps.com_.br_.png)
E finalizamos conferindo o Web App no Azure Portal
![](https://viniciusdeschamps.com.br/wp-content/uploads/2024/01/azure-web-app-configuration-application-settings-modificar-powershell-parametros-permanecem-viniciusde-Copy.png)
Deixe um comentário