如何使用 powershell 获取 azure vm 的负载均衡器名称?

How can I get Loadbalancer Name of azure vm using powershell?

我是 azure 部署的新手,所以我们正在尝试在当前虚拟机上获取名称以进行部署,因此我们需要删除并轮换当前虚拟机。

今天我能够删除平衡器的 VM,但没有进行轮换。

我知道我需要平衡器的名称。

现在我能够得到: IP地址。 网卡名称。 VM 的 azure 名称。 订阅名称。

我得到了以下关于轮换设置的 powershell 代码的代码:

$nic = Get-AzureRmNetworkInterface -Name $NicName -ResourceGroup $RGName 
$lb = Get-AzureRmLoadBalancer -Name $Namelb -ResourceGroupName $RGlb
$nic.IpConfigurations[0].LoadBalancerBackendAddressPools = $lb.BackendAddressPools 
Set-AzureRmNetworkInterface -NetworkInterface $nic

但是我没有平衡器的名字

通过这种方式我能够删除

$nic = Get-AzureRmNetworkInterface -Name $NicName -ResourceGroup $RGName 
$lb = Get-AzureRmLoadBalancer -Name $Namelb -ResourceGroupName $RGlb
$nic.IpConfigurations[0].LoadBalancerBackendAddressPools = $lb.BackendAddressPools 
Set-AzureRmNetworkInterface -NetworkInterface $nic

如果我有其他信息但没有平衡器名称。

如何获取平衡器的名称?

谢谢,

马可·卡巴洛

如果你已经添加了一个虚拟机到负载均衡器,然后你想得到负载均衡器的名称,你可以尝试下面的命令,$Namelb 将是负载均衡器的名称。

$NicName = "<name of the NIC>"
$RGName = "<resource group name>"
$nic = Get-AzureRmNetworkInterface -Name $NicName -ResourceGroup $RGName 
$a = $nic.IpConfigurations[0].LoadBalancerBackendAddressPools.Id -split"/"
$Namelb = $a[8]

此外,如果您已经从负载均衡器中删除了 VM,您可以使用下面的命令列出资源组或订阅中的所有负载均衡器,并找到您想要的那个。

通过资源组列出:

Get-AzureRmLoadBalancer -ResourceGroupName <resource group name> | Select-Object Name

通过订阅列表:

Get-AzureRmLoadBalancer | Select-Object Name