我正在尝试使用 Powershell 设置 IP 安全限制。我的语法没有返回任何错误,但设置没有改变。 “ipSecurityRestrictions”属性是一个哈希表。

$r = Get-AzureRmResource -ResourceGroupName *resource-group-name* -ResourceType Microsoft.Web/sites/config -ResourceName resourcename/web -ApiVersion 2016-08-01
$p = $r.Properties
$p.ipSecurityRestrictions = @{ ipAddress = "0.0.0.0"; subnetMask = "0.0.0.0" }
Set-AzureRmResource -ResourceGroupName *resource-group-name* -ResourceType Microsoft.Web/sites/config -ResourceName resourcename/web -ApiVersion 2016-08-01 -PropertyObject $p

这不是权限问题,并且没有返回任何错误。要更改不是哈希表的属性,例如 phpVersion,以下代码工作正常:
$p.phpVersion = "7.0"

有人使用这种方法成功设置了 ipSecurityRestrictions 吗?

最佳答案

ipSecurityRestrictions 应该是对象数组。请尝试更改代码如下。它对我来说正常工作。

$r = Get-AzureRmResource -ResourceGroupName "Resoucegroup name" -ResourceType Microsoft.Web/sites/config -ResourceName resourcename/web -ApiVersion 2016-08-01

$p = $r.Properties
$p.ipSecurityRestrictions = @()
$restriction = @{}
$restriction.Add("ipAddress","0.0.0.0")
$restriction.Add("subnetMask","0.0.0.0")
$p.ipSecurityRestrictions+= $restriction

Set-AzureRmResource -ResourceGroupName  "Resoucegroup name" -ResourceType Microsoft.Web/sites/config -ResourceName resourcename/web -ApiVersion 2016-08-01 -PropertyObject $p

powershell - 使用 Powershell 的 Azure 资源管理器 IP 安全限制-LMLPHP

之后我们可以从资源azure中得到结果
( https://resources.azure.com )。

powershell - 使用 Powershell 的 Azure 资源管理器 IP 安全限制-LMLPHP

我们也可以从资源azure中获取powershell cmd。

powershell - 使用 Powershell 的 Azure 资源管理器 IP 安全限制-LMLPHP

10-07 13:36
查看更多