如何检查 Azure 中是否已存在资源组?

How do I check if a Resource Group already exists in Azure?

我正在努力改进我的逻辑并使代码更高效!目前我正在检查资源组是否存在——如果存在,随机数将附加到 $resGroup 变量。我认为如果我检查是否检查 $resGroup + $num 是否存在会更合乎逻辑。任何建议将不胜感激。

#LOGIN TO AZURE - DISPLAYS LOGIN DIALOG
Login-AzureRmAccount

#RESOURCEGROUP
$resGroup = "group"

#WEB APP 1
$WebAppName1 = "FirstApp" + $resGroup
$WebAppLocation1 = "Southeast Asia"

#WEB APP 2
$WebAppName2 = "SecondApp" + $resGroup
$WebAppLocation2 = "southcentralus"

$resGrpChk = Get-AzureRmResourceGroup -ResourceGroupName $resGroup -ev notPresent -ea 0


if (!$resGrpChk)
{  
#CREATES A NEW RESOURCE GROUP
New-AzureRmResourceGroup -Name $resGroup -Location "West Europe"    
Write-Host 'RESOURCE GROUP CREATED' -fore white -back green
   }
 else
 {
   $num = Get-Random -Maximum 999
   $newGroup = "group"
   $resGroup = $group + $num
   New-AzureRmResourceGroup -Name $resGroup -Location "West Europe"  
 }

嗯,我建议你实现类似循环的东西来检查资源组是否存在并更改名称:

$name = 'group'

do {
    $rg = Get-AzureRMResourceGroup -Name $name -ev break
    if (!$break) { $name = $name + (get-random -maximum 1000) }
} while (!$break)

唯一的缺点是名称会被连接起来,所以你会有 group354,然后是 group 354678,但这可以通过 $name = $name -replace ".{3}$" 之类的方法来解决,你明白了。