1

我可以使用以下代码在我的网络安全组中为一个源 IP 地址 ( ) 成功配置单个规则$SourceAddressPrefix="x.x.x.x"

Set-AzureRmNetworkSecurityRuleConfig  
    -NetworkSecurityGroup $nsg 
    -Name $name 
    -Direction Inbound  
    -Priority $priority 
    -Access Allow  
    -SourceAddressPrefix $sourcePrefix 
    -SourcePortRange *  
    -DestinationAddressPrefix * 
    -DestinationPortRange $destinationPortRange 
    -Protocol TCP 
 | Set-AzureRmNetworkSecurityGroup

我想为多个 IP 配置这个单一规则,但是当我提供时$SourceAddressPrefix="x.x.x.x, y.y.y.y"(就像我可以在 Azure 门户中交互式地做的那样)我得到了以下错误:

“...地址前缀无效。提供的值:xxxx, yyyy”

问题

如何在一条规则中提供多个 IP,就像在 Azure 门户中那样?

4

2 回答 2

4

你可以用这个$sourcePrefix = "x.x.x.x","y.y.y.y"。这对我有用。

$nsg = Get-AzureRmNetworkSecurityGroup -ResourceGroupName "xxx" -Name "xxx"
$name = "port_1433"
$priority = 600
$sourcePrefix = "1.1.1.1","2.2.2.2"
$destinationPortRange ="1433"
Set-AzureRmNetworkSecurityRuleConfig -NetworkSecurityGroup $nsg  -Name $name `
    -Direction Inbound  `
    -Priority $priority `
    -Access Allow  `
    -SourceAddressPrefix $sourcePrefix `
    -SourcePortRange *  `
    -DestinationAddressPrefix * `
    -DestinationPortRange $destinationPortRange `
    -Protocol TCP 
$nsg | Set-AzureRmNetworkSecurityGroup

在此处输入图像描述

于 2019-01-30T10:23:35.037 回答
3

你需要给它一个值数组(因为它期望System.Collections.Generic.List1[System.String]):

@("x.x.x.x", "y.y.y.y")

https://docs.microsoft.com/en-us/powershell/module/azurerm.network/set-azurermnetworksecurityruleconfig?view=azurermps-6.13.0

于 2019-01-30T10:05:14.507 回答