Связать NSG с подсетями в цикле foreach Powershell - PullRequest
0 голосов
/ 08 декабря 2018

Я создал небольшой скрипт, который создает подсети, затем я могу передать их через цикл и создать группы безопасности сети (nsg) с именем подсети + -nsg, но когда я пытаюсь связать nsg сподсеть не может сказать, что NSG не существует.Итак, я создал два небольших скрипта и отделил команду create nsg от ассоциированного nsg, но опять та же ошибка.

Ошибка:

 Set-AzureNetworkSecurityGroupToSubnet : ResourceNotFound : The Network Security Group nsg-test-nsg does not exist.

Но это определенно существует.

У меня есть код:

$resource = "rg-subnets"
$vnetName = "vnet-bmg"
$loc = "West Europe"

$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName $resource -Name $vnetName
$sub = (Get-AzureRmVirtualNetworkSubnetConfig -VirtualNetwork $vnet).name 

foreach ($subnet in $sub){

 New-AzureRmNetworkSecurityGroup -Name $subnet-nsg -ResourceGroupName $resource -Location $loc -Force
 Set-AzureNetworkSecurityGroupToSubnet -Name $subnet-nsg -VirtualNetworkName $vnetName -SubnetName $subnet

}

Помогите!:)

1 Ответ

0 голосов
/ 09 декабря 2018

Это сработало для меня,

$resource = "rg-subnets"
$vnetName = "vnet-bmg"
$loc = "West Europe"

$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName $resource -Name $vnetName
$sub = (Get-AzureRmVirtualNetworkSubnetConfig -VirtualNetwork $vnet).name 

foreach ($subnet in $sub){
New-AzureRmNetworkSecurityGroup -Name $subnet-nsg -ResourceGroupName $resource -Location $loc -Force
$subnetName = Get-AzureRmVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name $subnet
$nsg = Get-AzureRmNetworkSecurityGroup -ResourceGroupName $resource -Name "$subnet-nsg"
$subnetName.NetworkSecurityGroup = $nsg
Set-AzureRmVirtualNetwork -VirtualNetwork $vnet -Verbose
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...