我正在尝试使用循环来更改其中一个webapp配置的属性。我的想法是只更改属性为false的webapp配置。我有下面的代码,但是它失败了,错误为Cannot validate argument on parameter 'ResourceGroupName'
$is_https boolean
Get-AzSubscription | ForEach-Object {
Set-AzContext -SubscriptionName $_.Name
Get-AzWebApp | ForEach-Object {
$is_https =(Get-AzWebApp -ResourceGroupName $resourcegroup -Name $appName | select HttpsOnly).HttpsOnly
if ($webapp_https -eq $false )
{
Set-AzWebApp -ResourceGroupName $_.ResourceGroup -Name $_.Name -HttpsOnly $true
}
}
}
- 编辑**
我现在已经通过添加第二个foreach循环修复了这个问题,但是我希望有一个If语句,这样Set-AzWebApp只在-httpsOnly为$false
时运行。目前它会更改所有Web应用的设置,无论是否需要。上面的代码片段不起作用,但是下面的代码片段可以起作用,因为它没有if语句。
Get-AzSubscription | ForEach-Object {
Set-AzContext -SubscriptionName $_.Name
Get-AzWebApp | ForEach-Object {
Set-AzWebApp -ResourceGroupName $_.ResourceGroup -Name $_.Name -HttpsOnly $true
}
}
1条答案
按热度按时间ppcbkaq51#
从我这边复制后,我可以使用下面的脚本来实现您的要求,其中
HttpsOnly
设置为$false
。下面是为我工作的完整脚本,其中我在资源组级别设置了值。结果: