Azure:Powershell:Set-AzureRmWebApp:如何设置"alwaysOn"属性

Jay*_*dse 7 azure azure-powershell azure-resource-manager

我正在运行Powershell 5并尝试使用Set-AzureRmWebApp(而不是Set-AzureResource)操作我的Azure WebApp对象来设置 Web应用程序的"Always On"属性.

我的基本代码段以一个名为"myWebApp"的正在运行的Web应用程序开头,如下所示:

$name = "myWebApp"
$resourceGroupName = "myResourceGroup"
$app_settings = @{"WEBSITE_LOAD_CERTIFICATES"="*";"CommonDatabase"="Common";"WEBSITE_NODE_DEFAULT_VERSION"="0.10.32"}

$result1 = Set-AzureRmWebApp -ResourceGroupName $resourceGroupName -AppSettings $app_settings -Name $name
$result2 = Set-AzureRmResource -ResourceGroupName $resourceGroupName  -ResourceType Microsoft.Web/sites/config -ResourceName $this.name -PropertyObject $propertiesObject -ApiVersion 2015-08-01 -Force
Run Code Online (Sandbox Code Playgroud)

第一个Set-AzureRmWebApp语句有效.它设置$ app_settings中的所有变量,并且它们在myWebApp的Azure门户刀片中可见.

我尝试使用Set-AzureRmWebApp 在$ app_settings中使用"Always On"= on作为属性,它出现在Azure门户刀片上"myWebApp"属性的App Settings子列表中,但实际属性为"Always On" "在一般情况下仍然没有关闭.

我在另一个网站上读到使用Set-AzureRmResource可以工作,所以我尝试了,但它失败了.

在Powershell中我需要做什么才能在Azure WebApp的常规设置中设置属性,特别是"始终开启"

Tom*_*SFT 9

如果WebApp处于免费服务计划层,则不支持"Always On".如果WebApp处于免费套餐中,请扩展应用服务计划.有关如何扩展应用服务计划的更多信息,请参阅该文档.请尝试使用sharbag提到的解决方案.它对我有用,我也检查了天蓝色门户网站的运行结果.解决方案中的剪切代码如下:

   $ResourceGroupName = 'Your Group Name'

   $WebAppName = 'Your WebApp Name'

   $WebAppPropertiesObject = @{"siteConfig" = @{"AlwaysOn" = $true}}

    $WebAppResourceType = 'microsoft.web/sites'

    $webAppResource = Get-AzureRmResource -ResourceType $WebAppResourceType -ResourceGroupName $ResourceGroupName -ResourceName $WebAppName

    $webAppResource | Set-AzureRmResource -PropertyObject $WebAppPropertiesObject -Force
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果WebApp处于免费层服务计划中,当我们尝试运行PowerShell命令以启用"Always On"时,我们将收到以下错误消息.

在此输入图像描述

  • 在 v 4.2.0 中使用“Set-AzWebApp”,我收到“无法找到与参数名称“AlwaysOn”匹配的参数”。将“Get-AzureRmResource”更改为“Get-AzResource”,这个答案对我有用。 (2认同)