用于查找存储帐户所注册到的恢复服务保管库的 PowerShell 脚本

此脚本可帮助你查找存储帐户所注册到的恢复服务保管库。

示例脚本

Param(
        [Parameter(Mandatory=$True)][System.String] $ResourceGroupName,
        [Parameter(Mandatory=$True)][System.String] $StorageAccountName,
        [Parameter(Mandatory=$True)][System.String] $SubscriptionId
    )

Connect-AzAccount -Environment AzureChinaCloud
Select-AzSubscription -Subscription $SubscriptionId
$vaults = Get-AzRecoveryServicesVault
$found = $false
foreach($vault in $vaults)
{
  Write-Verbose "Checking vault: $($vault.Id)" -Verbose
  
  $containers = Get-AzRecoveryServicesBackupContainer -ContainerType AzureStorage -FriendlyName $StorageAccountName -ResourceGroupName $ResourceGroupName -VaultId $vault.Id -Status Registered
  
  if($containers -ne $null)
  {
    $found = $True
    Write-Information "Found Storage account $StorageAccountName registered in vault: $($vault.Id)" -InformationAction Continue
    break;
  }
}

if(!$found)
{
     Write-Information "Storage account: $StorageAccountName is not registered in any vault of this subscription" -InformationAction Continue
}

如何执行脚本

  1. 在计算机上使用所选名称保存上述脚本。 在此示例中,我们将此脚本保存为 FindRegisteredStorageAccount.ps1

  2. 通过提供以下参数来执行脚本:

    • -ResourceGroupName - 存储帐户的资源组
    • -StorageAccountName - 存储帐户名称
    • -SubscriptionID - 存储帐户所在的订阅的 ID。

以下示例尝试查找 afsaccount 存储帐户所注册到的恢复服务保管库:

.\FindRegisteredStorageAccount.ps1 -ResourceGroupName AzureFiles -StorageAccountName afsaccount -SubscriptionId ef4ad5a7-c2c0-4304-af80-af49f49af3d1

输出

输出将显示存储帐户所注册到的恢复服务保管库的完整路径。 下面是示例输出:

Found Storage account afsaccount registered in vault: /subscriptions/ ef4ad5a7-c2c0-4304-af80-af49f49af3d1/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault123

后续步骤

了解如何从 Azure 门户备份 Azure 文件共享