You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用AZ CLI查找Azure Blob容器和文件共享的备份保管库

查找Azure Blob容器和文件共享对应的备份保管库

方法1:使用Azure PowerShell

通过PowerShell遍历备份保管库,关联目标存储账户下的Blob容器和文件共享:

# 替换为你的存储账户名称和资源组
$storageAccountName = "your-storage-account"
$resourceGroupName = "your-resource-group"

# 获取存储账户资源ID
$storageAccountId = (Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName).Id

# 查询所有存储类备份保护项
$backupItems = Get-AzRecoveryServicesBackupItem -BackupManagementType AzureStorage -WorkloadType AzureBlob -VaultId (Get-AzRecoveryServicesVault | Select-Object -ExpandProperty Id)

# 筛选目标存储账户的备份项并输出对应保管库信息
foreach ($item in $backupItems) {
    if ($item.ContainerId -match $storageAccountId) {
        $vault = Get-AzRecoveryServicesVault -Id $item.VaultId
        Write-Host "Blob容器/文件共享: $($item.Name) 对应备份保管库: $($vault.Name) (资源组: $($vault.ResourceGroupName))"
    }
}

方法2:使用Azure CLI

通过CLI批量遍历备份保管库,匹配目标存储资源:

# 替换为你的存储账户名称和资源组
STORAGE_ACCOUNT_NAME="your-storage-account"
RESOURCE_GROUP_NAME="your-resource-group"

# 获取存储账户ID
STORAGE_ACCOUNT_ID=$(az storage account show --name $STORAGE_ACCOUNT_NAME --resource-group $RESOURCE_GROUP_NAME --query id --output tsv)

# 遍历所有备份保管库并查询匹配的备份项
for VAULT in $(az recovery services vault list --query "[].name" --output tsv); do
    VAULT_RESOURCE_GROUP=$(az recovery services vault show --name $VAULT --query resourceGroup --output tsv)
    az recovery services backup item list --vault-name $VAULT --resource-group $VAULT_RESOURCE_GROUP --backup-management-type AzureStorage --workload-type AzureBlob --query "[?contains(containerId, '$STORAGE_ACCOUNT_ID')].{Name:name, VaultName:'$VAULT'}" --output table
done

方法3:使用Azure Resource Graph查询

适合批量查询所有Blob容器和文件共享的备份关联信息,可直接在Resource Graph Explorer运行:

RecoveryServicesResources
| where type == 'Microsoft.RecoveryServices/vaults/backupProtectionContainers'
| where properties.containerType == 'StorageContainer'
| extend storageAccountId = split(properties.sourceResourceId, '/')[8]
| extend storageAccountName = split(properties.friendlyName, ';')[0]
| join kind=inner (
    RecoveryServicesResources
    | where type == 'Microsoft.RecoveryServices/vaults/backupProtectionItems'
    | where properties.dataSourceInfo.dataSourceType in ('AzureBlob', 'AzureFileShare')
) on $left.id == $right.properties.containerId
| project 
    BlobOrFileShareName = properties_dataSourceInfo_name,
    StorageAccountName = storageAccountName,
    BackupVaultName = split(id_left, '/')[8],
    BackupVaultResourceGroup = split(id_left, '/')[4]

内容的提问来源于stack exchange,提问作者Digger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 17:42:14