📌  相关文章
📜  Microsoft Azure – 使用 PowerShell 脚本删除孤立磁盘

📅  最后修改于: 2022-05-13 01:56:15.703000             🧑  作者: Mango

Microsoft Azure – 使用 PowerShell 脚本删除孤立磁盘

在本文中,我们将使用 Azure PowerShell 模块脚本来查找 azure 中所有未附加或孤立的 azure 托管磁盘并将其删除。

用于删除 Azure 中孤立磁盘的 PowerShell 脚本:

下面的 Power Shell 脚本将找到所有孤立的 azure 托管磁盘,并将在循环中一个接一个地删除所有孤立的托管磁盘,直到它完成。

注意:脚本执行时间取决于 azure 中孤立托管磁盘的数量。

检查未连接的磁盘资源:

首先,在删除孤立的托管磁盘之前,运行以下脚本来验证未附加的磁盘资源 -

$SubscriptionName = "_add_subscription_name_here"
Set-AzureRmContext -SubscriptionName "$SubscriptionName" | Out-Null

$Disk = Get-AzDisk
$Orphan = $Disk | Select-Object -Property Name,ResourceGroupName,Type,DiskSizeGB,DiskState

$state_unattached = $Orphan | Where-Object -Property DiskState -eq “Unattached”

#Find and Delete - Unattached State Disk
Foreach ($disks in $state_unattached){

    $ResourceGroup=$disks.ResourceGroupName
    $DiskName=$disks.Name
    $DiskState=$disk.DiskState
    
    Write-Host "Disk Name        : $DiskName"
    Write-Host "ResourceGoupName : $ResourceGroup"
    Write-Host ""
}

上述脚本返回所选订阅中具有磁盘名称和资源组名称的所有孤立磁盘的列表。

输出:

用于删除孤立磁盘的 PowerShell 脚本:

运行以下脚本以删除 azure 中所选范围或订阅的孤立托管磁盘。

$SubscriptionName = "_add_subscription_name_here"
Set-AzureRmContext -SubscriptionName "$SubscriptionName" | Out-Null

$Disk = Get-AzDisk
$Orphan = $Disk | Select-Object -Property Name,ResourceGroupName,Type,DiskSizeGB,DiskState

$state_unattached = $Orphan | Where-Object -Property DiskState -eq “Unattached”

#Find and Delete - Unattached State Disk
Foreach ($disks in $state_unattached){
    $ResourceGroup=$disks.ResourceGroupName
    $DiskName=$disks.Name
    $DiskState=$disk.DiskState
    Write-Host "Disk Name        : $DiskName"
    Write-Host "ResourceGoupName : $ResourceGroup"
    Write-Host "Disk State       : $DiskState"
    Write-Host "Deleting unattached Managed Disk"
    $disks | Remove-AzDisk -Force
    Write-Host "Successfully Deleted"
    Write-Host ""
}

上面的脚本返回成功删除的所有孤立磁盘的列表。控制台打印磁盘名称和资源组名称。

注意:如果未安装,请安装 Azure PowerShell 模块。如果您使用的是 Windows PowerShell。

输出: