如何检查 Azure Vnet 是否正在使用
How to check if Azure Vnet is in use
我正在使用 Az PowerShell 模块。我想做以下事情。
- 确认指定的 azure vnet 未在使用中。
- 如果不使用,请删除 VNET。
验证 VNET 是否正在使用的最简单方法是在 PowerShell 中使用 Remove-AzVirtualNetwork
并查看它是否抛出错误。我想知道是否有更好的方法来做到这一点。
我可能建议您使用 Get-AzVirtualNetworkUsageList 来获取每个子网的使用情况。
CurrentValue
的值显示分配的专用 IP 使用情况。如果它大于 0,则网络应该正在使用中。
这是前段时间创建的工作脚本中的一个片段,可以解决问题
$vnetname = ""
$vnetrgname = ""
$VNet = Get-AzVirtualNetwork -Name $vnetname -ResourceGroupName $vnetrgname
$ips = $VNet.Subnets | % {($_.IpConfigurations).Count}
$total = ($ips | Measure-Object -Sum).Sum
if ($total -eq "0")
{
Write-Host -ForegroundColor Green "Virtual Network '$vnetname' not in use, deleting Virtual Network"
Remove-AzVirtualNetwork -Name $vnetname -ResourceGroupName $vnetrgname -Force
}
Else
{
Write-Host -ForegroundColor Yellow -BackgroundColor Black "Virtual Network '$vnetname' in use, Skipping deletion of Virtual Network"
}
原文:
#Fetch the VNet Configuration
$VNetDetails=Get-AzVirtualNetwork -Name "<VirtualNetworkName>"-ResourceGroupName "<ResourceGroupName>"
#Fetch the SubnetConfig from the VNETConfig
$VnetSubnetConfig=Get-AzVirtualNetworkSubnetConfig -Name "<SubnetName>" -VirtualNetwork $VNetDetails
#Fetch the IPUsage from the SubnetID.
$PrivateIPUsage=Get-AzVirtualNetworkUsageList -ResourceGroupName "<ResoruceGroupName>" -Name "<VirtualNetworkName>" | where ID -eq $VnetSubnetConfig.id
[int] $TotalIPLimit=$PrivateIPUsage.Limit
[int] $TotalIPUsed=$PrivateIPUsage.CurrentValue
if($TotalIPUsed -lt $TotalIPLimit)
{
Write-Host "Private IP's are available in this Subnet for Usage."
}
else
{
Write-Host "Private IP's are not available in this Subnet for Usage."
}
我正在使用 Az PowerShell 模块。我想做以下事情。
- 确认指定的 azure vnet 未在使用中。
- 如果不使用,请删除 VNET。
验证 VNET 是否正在使用的最简单方法是在 PowerShell 中使用 Remove-AzVirtualNetwork
并查看它是否抛出错误。我想知道是否有更好的方法来做到这一点。
我可能建议您使用 Get-AzVirtualNetworkUsageList 来获取每个子网的使用情况。
CurrentValue
的值显示分配的专用 IP 使用情况。如果它大于 0,则网络应该正在使用中。
这是前段时间创建的工作脚本中的一个片段,可以解决问题
$vnetname = ""
$vnetrgname = ""
$VNet = Get-AzVirtualNetwork -Name $vnetname -ResourceGroupName $vnetrgname
$ips = $VNet.Subnets | % {($_.IpConfigurations).Count}
$total = ($ips | Measure-Object -Sum).Sum
if ($total -eq "0")
{
Write-Host -ForegroundColor Green "Virtual Network '$vnetname' not in use, deleting Virtual Network"
Remove-AzVirtualNetwork -Name $vnetname -ResourceGroupName $vnetrgname -Force
}
Else
{
Write-Host -ForegroundColor Yellow -BackgroundColor Black "Virtual Network '$vnetname' in use, Skipping deletion of Virtual Network"
}
原文:
#Fetch the VNet Configuration
$VNetDetails=Get-AzVirtualNetwork -Name "<VirtualNetworkName>"-ResourceGroupName "<ResourceGroupName>"
#Fetch the SubnetConfig from the VNETConfig
$VnetSubnetConfig=Get-AzVirtualNetworkSubnetConfig -Name "<SubnetName>" -VirtualNetwork $VNetDetails
#Fetch the IPUsage from the SubnetID.
$PrivateIPUsage=Get-AzVirtualNetworkUsageList -ResourceGroupName "<ResoruceGroupName>" -Name "<VirtualNetworkName>" | where ID -eq $VnetSubnetConfig.id
[int] $TotalIPLimit=$PrivateIPUsage.Limit
[int] $TotalIPUsed=$PrivateIPUsage.CurrentValue
if($TotalIPUsed -lt $TotalIPLimit)
{
Write-Host "Private IP's are available in this Subnet for Usage."
}
else
{
Write-Host "Private IP's are not available in this Subnet for Usage."
}