【问题标题】:Set-AzureRmDiagnosticSetting : A parameter cannot be found that matches parameter name 'Name'Set-AzureRmDiagnosticSetting:找不到与参数名称“名称”匹配的参数
【发布时间】:2021-09-11 03:37:50
【问题描述】:

Set-AzureRmDiagnosticSetting : 找不到与参数名称“名称”匹配的参数。

在 Azure powershell 任务中执行以下命令后

Set-AzureRmDiagnosticSetting -ResourceId $resourceId -Name $diagnosticsettingname -Enabled $true -Categories $logarray -MetricCategory $metricsarray -WorkspaceId $work

我遇到了异常

“Set-AzureRmDiagnosticSetting : 找不到与参数名称“名称”匹配的参数。”

根据规范,其中有 -Name 参数。那么为什么我会收到这个错误

【问题讨论】:

  • 这取决于您的 Azure RM Powershell 版本。 Name 参数针对版本 6.13.0 列出,但不针对 5.7.0 和 4.4.1。见Set-AzureRmDiagnosticSetting
  • 如果您正在构建 CICD 管道并使用 Azure Powershell 任务,请保留注释,请尝试使用旧版本,即 3。使用 Azure powershell 最新版本时会出现异常

标签: azure powershell devops


【解决方案1】:

正如评论中提到的,我认为您的AzureRM.Insights 模块版本旧,请更新模块:

Update-Module -Name AzureRM.Insights -Force

您应该注意,AzureRm 模块已被弃用,它将不再更新,因此我建议您使用新的Az 模块而不是AzureRm,请参阅此link 迁移到Az,然后使用命令Set-AzDiagnosticSetting

【讨论】:

    【解决方案2】:

    除此之外,如果您希望同时执行 Azure 诊断并利用 Azure 管道来执行此操作,同时使用 Azure Policy 以编程方式大规模执行此操作,您可以查看此解决方案,它应该会使其更易于使用。

    https://aka.ms/azpolicyPipeline

    没有管道但自动执行策略/策略计划,您可以在此处查看此项目:https://aka.ms/AzPolicyScripts

    我发现这篇文章正在寻找与 Az cmdlet 中的错误相关的其他内容,所以我想我会发布,因为我手头有这个细节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 2019-10-17
      相关资源
      最近更新 更多