首页 > 解决方案 > 尝试在指定配额和保留期的 Azure Web 应用上启用 Web 服务器日志记录

问题描述

有人可以帮我下面的powershell脚本吗?我面临的问题是“ResourceName”标志是正在配置的 Web 应用程序的名称,因此我需要为此设置一个数组并针对该数组运行 ForEach-Object 循环。

$ResourceGroupName = 'webapptestrg'
$webapps = Get-AzWebApp -ResourceGroupName 'webapptestrg'
$ResourceName = foreach ($webapp in $webapps) {$webapp.name}

$PropertiesObject = @{
    httpLogs = @{
        fileSystem = @{
            enabled = $TRUE;
            retentionInMb = 35;
            retentionInDays = 7;
        }
    }
  }

Get-AzResource -ResourceGroupName $ResourceGroupName | ForEach-Object {
Set-AzResource -Properties $PropertiesObject `
      -ResourceGroupName $ResourceGroupName -ResourceType Microsoft.Web/sites/config `
      -ResourceName $ResourceName.name/logs -ApiVersion 2018-11-01 -Force
      }

标签: azureazure-web-app-serviceazure-powershell

解决方案


更新。我在内部得到了一些帮助,我们弄清楚了。对于将来需要此功能的任何人,这是更新的代码。

$ResourceGroupName = 'rgname'
$webapps = Get-AzWebApp -ResourceGroupName 'rgname'
$ResourceName = foreach ($webapp in $webapps) {$webapp.name}
$PropertiesObject = @{
    httpLogs = @{
        fileSystem = @{
            enabled = $TRUE;
            retentionInMb = 35;
            retentionInDays = 7;
        }
    }
  }
      Foreach ($resource in $ResourceName) {
Set-AzResource -Properties $PropertiesObject `
      -ResourceGroupName $ResourceGroupName -ResourceType Microsoft.Web/sites/config `
      -ResourceName "$resource/logs" -ApiVersion 2018-11-01 -Force
      }

推荐阅读