如何查找Azure App Service Plan的原始资源组?含已删除场景及CloudShell方法
如何查找Azure App Service Plan的原始资源组名称(当WebSpace属性无有效信息时)
我完全理解你的处境——原本指望WebSpace属性能提取出原始资源组,但你的情况里这个属性只返回了区域信息,没给有用的组名。别着急,咱们可以通过Azure Cloud Shell里的几个命令来尝试找回这个原始资源组名称:
方法1:PowerShell查询活动日志找创建记录
活动日志会记录资源的创建、修改和移动操作,咱们可以从中找到App Service Plan最初创建时的资源组信息:
- 打开Cloud Shell并切换到PowerShell环境
- 先确保已登录到目标Azure账号(如果没登录,运行
Connect-AzAccount完成登录) - 运行以下命令,替换
<app-service-plan-name>为你的计划名称,<current-resource-group>为当前所在的资源组:
Get-AzActivityLog -ResourceGroupName <current-resource-group> -ResourceName <app-service-plan-name> -ResourceType "Microsoft.Web/serverfarms" | Where-Object {$_.OperationName.Value -eq "Microsoft.Web/serverfarms/write"} | Select-Object EventTimestamp, OperationName, Properties | Format-List
在返回的结果里,查看Properties字段,你会找到类似resourceGroup: "<原始资源组名称>"的条目,这就是你要找的原始组名。
方法2:Azure CLI查询活动日志
如果你更习惯用CLI,也可以用这个命令:
az monitor activity-log list --resource-group <current-resource-group> --resource-name <app-service-plan-name> --resource-type "Microsoft.Web/serverfarms" --query "[?operationName.value == 'Microsoft.Web/serverfarms/write'].{Time: eventTimestamp, Operation: operationName.value, Properties: properties}" --output table
同样,在Properties列的内容里,你能定位到原始资源组的名称。
备选方法:查询资源更改历史记录
如果你的订阅启用了资源更改历史记录功能,还可以通过这个命令查看资源的移动历史,确认它是从哪个组移出来的:
Get-AzResourceChangeHistory -ResourceId (Get-AzResource -Name <app-service-plan-name> -ResourceGroupName <current-resource-group> -ResourceType "Microsoft.Web/serverfarms").ResourceId | Select-Object ChangeType, ChangeTime, Properties
如果有资源移动的记录,结果里会明确显示原始资源组的信息。
注意事项
如果活动日志的记录因为默认90天的保留期已经被删除,那你可能需要联系Azure支持团队——他们可以从后台系统中查询到更长时间的资源元数据,帮你找回原始资源组名称。
内容的提问来源于stack exchange,提问作者Sourav Karmakar
相关产品推荐
相关产品推荐

