azure - PS:从 LB 池中删除 Azure NIC
问题描述
我正在尝试从 PowerShell 中的 NIC Ipconfig 中删除 Azure 负载均衡器后端池设置,但在不破坏整个 Ipconfig 的情况下无法成功。要么它删除整个配置,如
Remove-AzNetworkInterfaceIpConfig -NetworkInterface $NIC
或者当我在命名其他属性时尝试设置 Ipconfig 时,LB 池配置仍然存在
Set-AzNetworkInterfaceIpConfig -NetworkInterface $NIC -Name "ipconfig1" -PrivateIpAddress $DIP -Subnet $backendSubnet -PublicIpAddress $PIP -ApplicationSecurityGroup
$NSG
如何仅删除 LB 后端池并保留其他属性?谢谢
解决方案
如果您只想删除或添加特定的 NIC,您可以使用这个。只需传递所需的变量和操作名称“删除”或“添加”。它仅从后端负载均衡器池中删除 NIC,但不会破坏整个后端池配置。
$ResourceGroup = "YourResourceGroupName"
$Loadbalancer = "YourLoadBalancerName"
$NICName = "YourVirtualMachineNetworkInterfaceName"
$Action = "remove" #add
if ($Action -eq 'add')
{
Write-Host ("Adding to LB")
$nic = Get-AzNetworkInterface | Where-Object { ($_.ResourceGroupName -eq "$ResourceGroup") -and ($_.Name -eq "$NICName") }
$lb = Get-AzLoadBalancer | Where-Object { ($_.ResourceGroupName -eq "$ResourceGroup") -and ($_.Name -eq "$Loadbalancer") }
$nic.IpConfigurations[0].LoadBalancerBackendAddressPools = $lb.BackendAddressPools[0]
Set-AzNetworkInterface -NetworkInterface $nic
}
if ($Action -eq 'remove')
{
Write-Host ("Removing from LB")
$nic = Get-AzNetworkInterface | Where-Object { ($_.ResourceGroupName -eq "$ResourceGroup") -and ($_.Name -eq "$NICName") }
$nic.Ipconfigurations[0].LoadBalancerBackendAddressPools = $null
Set-AzNetworkInterface -NetworkInterface $nic
}
推荐阅读
- python - 重启或取消 input() [Python]
- reactjs - React TypeScript - 导出多个组件
- vb.net - 加速程序:如何从 Drawing2D.GraphicsPath 中找到 xmin、xmax、ymin 和 ymax?
- c - 基础 C 快速排序
- flutter - 有什么方法可以禁用 YouTube iframe 上的长按?
- python-3.x - python3 - 睡眠时枚举结果中缺少线程
- apache - 上层 .htacces 文件中的代码被其他 .htaccess 文件中的代码忽略
- python - python winrt windows Toast通知获取输入作为变量
- c++ - 如何与在 SFML-IMGUI 中创建的按钮相关联?
- javascript - 使用来自 api 的数据创建填充复杂对象的最佳方法是什么?