@Yuta Matsuzaki Welcome to Microsoft Q&A, thank you for posting your here!!
You can try to Export/Copy managed snapshots as VHD to a storage account in different tenant with below PowerShell.
Step:1 Create Snapshot of the managed disk.
To create a snapshot using the Azure portal, complete these steps.
- In the Azure portal, select Create a resource.
- Search for and select Snapshot.
- In the Snapshot window, select Create. The Create snapshot window appears.
- For Resource group, select an existing resource group or enter the name of a new one.
- Enter a Name, then select a Region and Snapshot type for the new snapshot.
- For Source subscription, select the subscription that contains the managed disk to be backed up.
- For Source disk, select the managed disk to snapshot.
- For Storage type, select Standard HDD,
- Select Review + create.
Step: 2 Now Copy the managed snapshots as VHD to a destination storage account(General Purpose V2 type) in different tenant with below PowerShell.
#Provide the subscription Id of the subscription where snapshot is created
$subscriptionId = "yourSubscriptionId"
#Provide the name of your resource group where snapshot is created
$resourceGroupName ="yourResourceGroupName"
#Provide the snapshot name
$snapshotName = "yourSnapshotName"
#Provide Shared Access Signature (SAS) expiry duration in seconds e.g. 3600.
#Know more about SAS here: https://docs.microsoft.com/en-us/Az.Storage/storage-dotnet-shared-access-signature-part-1
$sasExpiryDuration = "3600"
#Provide storage account name where you want to copy the snapshot.
$storageAccountName = "yourstorageaccountName"
#Name of the storage container where the downloaded snapshot will be stored
$storageContainerName = "yourstoragecontainername"
#Provide the key of the storage account where you want to copy snapshot.
$storageAccountKey = 'yourStorageAccountKey'
#Provide the name of the VHD file to which snapshot will be copied.
$destinationVHDFileName = "yourvhdfilename"
# Set the context to the subscription Id where Snapshot is created
Select-AzSubscription -SubscriptionId $SubscriptionId
#Generate the SAS for the snapshot
$sas = Grant-AzSnapshotAccess -ResourceGroupName $ResourceGroupName -SnapshotName $SnapshotName -DurationInSecond $sasExpiryDuration -Access Read
#Create the context for the storage account which will be used to copy snapshot to the storage account
$destinationContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey
#Copy the snapshot to the storage account
Start-AzStorageBlobCopy -AbsoluteUri $sas.AccessSAS -DestContainer $storageContainerName -DestContext $destinationContext -DestBlob $destinationVHDFileName
Source Link: https://learn.microsoft.com/en-us/previous-versions/azure/virtual-machines/scripts/virtual-machines-powershell-sample-copy-snapshot-to-storage-account#sample-script
Step:3 Now create disk from the VHD file
- In the Azure portal, select Create a resource.
- Search for and select Disks.
- In the Disks window, select Create. The Create Disk window appears.
- For Resource group, select an existing resource group or enter the name of a new one.
- Enter a Name, then select a Region and Source type as Storage blob and source blob and select the storage account location where you have copied the VHD in previous step.
- Select Review + create.
Navigate to Disks
Hope this helps!
Kindly let us know if the above helps or you need further assistance on this issue.
Please do not forget to "Accept the answer” and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.