This PowerShell script is to create an Azure App Service with .NETCORE Web Application:
#Provide following variables: $subscriptionname = "" $Environment = "" $webappName="" #Provide Web App Name $location="westus" #Provide Location $resourceGroupName = "" #Provide Resource Group $AppServicePlan = "" #Provide Service Plan $BusinessOwner = "" $Owner ="" $SubsId = Get-AzSubscription -SubscriptionName $subscriptionname Select-AzSubscription -SubscriptionId $SubsId.Id #Creating WebApp New-AzWebApp -ResourceGroupName $resourceGroupName -Name $webappName ` -Location $location -AppServicePlan $AppServicePlan Set-AzWebApp -ResourceGroupName $resourceGroupName ` -Name $webappName -AlwaysOn $true #Setting .NET CORE $dotnetResourceName = $webappName + "/metadata" $PropertiesObject = @{ "CURRENT_STACK" = "dotnetcore" } New-AzResource -PropertyObject $PropertiesObject -ResourceGroupName $resourceGroupName ` -ResourceType Microsoft.Web/sites/config -ResourceName $dotnetResourceName -Force #Creating App Insight New-AzApplicationInsights -ResourceGroupName $resourceGroupName ` -Name $webappName -Location $location # Collecting create app insight info $appInsightsKey = Get-AzApplicationInsights -Name $webappName ` -ResourceGroupName $resourceGroupName $errorpage = "https://"+ $webappName + ".scm.azurewebsites.net/detectors?type=tools&name=eventviewer" $appconnectionstring = "InstrumentationKey=" + $appInsightsKey.InstrumentationKey ` +";IngestionEndpoint=https://"+ $location + "-0.in.applicationinsights.azure.com/" $app = Get-AzWebApp -ResourceGroupName $resourceGroupName -Name $webappName -ErrorAction Stop $newAppSettings = @{} # case-insensitive hash map # preserve non Application Insights application settings. $app.SiteConfig.AppSettings | %{$newAppSettings[$_.Name] = $_.Value} $newAppSettings["ANCM_ADDITIONAL_ERROR_PAGE_LINK"] = $errorpage; # set the Application Insights instrumentation key $newAppSettings["APPINSIGHTS_INSTRUMENTATIONKEY"] = $appInsightsKey.InstrumentationKey; # set the Application Insights connection string $newAppSettings["APPLICATIONINSIGHTS_CONNECTION_STRING"] = $appconnectionstring; # enable the ApplicationInsightsAgent $newAppSettings["ApplicationInsightsAgent_EXTENSION_VERSION"] = "~2"; $newAppSettings["XDT_MicrosoftApplicationInsights_Mode"] = "default"; $app = Set-AzWebApp -AppSettings $newAppSettings ` -ResourceGroupName $app.ResourceGroup -Name $app.Name -ErrorAction Stop $Tags = @{App="Apps";BusinessOwner=$BusinessOwner;Owner=$Owner;Environment =$Environment}; Set-AzResource -ResourceGroupName $resourceGroupName ` -Name $webappName -ResourceType Microsoft.Web/sites -Tag $Tags -Force