Hi @Krishna-0852 ,
I would recommend to use the AZ PowerShell cmdlets instead of the older AzureRM cmdlets.
here you go:
$result = "DiskName,DiskResourceGroupName,VMname,VMResourceGroupName `r`n"
$diskObjects = get-azdisk
foreach ($diskObj in $diskObjects) {
$diskName = $diskObj.Name
$diskRG = $diskObj.ResourceGroupName
$relVMname = ($diskObj.ManagedBy).Split("/")[-1]
$VMobj = Get-AZVM -Name $relVMname
$vmName = $VMobj.Name
$vmRG = $VMobj.ResourceGroupName
$result += "$diskName" +","+ "$diskRG" +","+ "$vmName" +","+ "$vmRG" + "`r`n"
}
$result
The $result
variable contains all the 4 details you asked for.
I added a "shorter" version with less lines here: https://github.com/abaumgarten42/Useful_PSscripts/blob/main/Get-AzureDiskAndRelatedVMs/Get-AzureDiskAndRelatedVMs.ps1
----------
(If the reply was helpful please don't forget to upvote and/or accept as answer, thank you)
Regards
Andreas Baumgarten