执行Get-AzFirewallPolicy命令获取特定防火墙策略时遇类型映射错误
解决Get-AzFirewallPolicy命令的ThreatIntelWhitelist类型映射错误
问题场景
执行以下命令获取Azure防火墙策略时遇到AutoMapper类型映射错误:
Get-AzFirewallPolicy -Name "FirewallPolicy_AzureFirewall_EU_NonProd" -ResourceGroupName "RG-Firewalls-NonProd"
错误核心信息:
Get-AzFirewallPolicy : Error mapping types. ... Property: ThreatIntelWhitelist
已尝试将Az.Network模块从5.x升级到7.x,问题未解决。
可行解决方案
检查并修正防火墙策略的ThreatIntelWhitelist配置
登录Azure门户,找到目标防火墙策略的「威胁情报」设置,检查白名单中的IP地址、域名是否存在格式错误(如空条目、无效IP段、非法域名字符)。若存在异常,修正配置后重新执行命令。安装Az.Network预览版模块
正式版模块可能存在未修复的映射缺陷,尝试安装预览版本:Install-Module -Name Az.Network -AllowPrerelease -Force -Scope CurrentUser安装完成后重启PowerShell,再执行原命令。
通过Azure REST API直接获取策略详情
绕过PowerShell模块的AutoMapper逻辑,直接调用REST API获取原始数据:$token = (Get-AzAccessToken -ResourceUrl "https://management.azure.com").Token $subscriptionId = (Get-AzContext).Subscription.Id $uri = "https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/RG-Firewalls-NonProd/providers/Microsoft.Network/firewallPolicies/FirewallPolicy_AzureFirewall_EU_NonProd?api-version=2023-09-01" Invoke-RestMethod -Uri $uri -Headers @{Authorization = "Bearer $token"}完全重装Az模块
清理现有模块残留以解决版本冲突:- 卸载所有Az模块:
Get-Module -Name Az* -ListAvailable | Uninstall-Module -Force -AllVersions - 重新安装最新稳定版Az模块:
Install-Module -Name Az -Force -Scope CurrentUser -AllowClobber - 重启PowerShell后重试命令。
- 卸载所有Az模块:
内容的提问来源于stack exchange,提问作者r0r0n0a
相关产品推荐
相关产品推荐

