Подтвердить, что Azure Группа ресурсов существует или нет - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь записать в сценарий PowerShell, чтобы проверить, существует ли группа ресурсов.

Условия-

  1. Проверить, что группа ресурсов (myrg) уже существует в подписке azure.

  2. Если «условие 1» - ЛОЖЬ, тогда создайте группу ресурсов (myrg). В противном случае добавьте 2 цифры к имени группы ресурсов. например (myrg01)

  3. Убедитесь, что группа ресурсов (myrg01) существует в подписке azure.

  4. Если «условие 3» ЛОЖНО, то Создайте группу ресурсов (myrg01). Иначе увеличьте последнее di git на единицу для имени группы ресурсов. например (myrg02)

  5. Убедитесь, что группа ресурсов (myrg02) существует в подписке azure.

  6. Если «условие 5» ЛОЖНО, то Создайте группу ресурсов (myrg02). Иначе увеличьте последнее di git на единицу для имени группы ресурсов. например (myrg03) и так далее .........

Ниже приведен код, который я написал до сих пор и не смог создать желаемый l oop.

$rgname= "myrg"
Get-AzResourceGroup -Name $rgname -ErrorVariable notPresent -ErrorAction SilentlyContinue
if ($notPresent){
  Write-Host "ResourceGroup doesn't exist, Creating resource group"
  $createRG= New-AzResourceGroup -Name $rgname -Location $region -Tag $tag
    Write-Host $rgname
}
else{ 
  $countcontent = $countcontent + 1
  $counter = [int]$countcontent
  ++$counter
  $countString = "{0:d2}" -f ($counter)
  Write-Host "ResourceGroup $rgname already exist, Generating a new name for Resource Group" 
  $rgname= $rgname + $countString  
  Get-AzResourceGroup -Name $rgname -ErrorVariable notPresent -ErrorAction SilentlyContinue
    if ($notpresent){
    $createRG= New-AzResourceGroup -Name $rgname -Location $region -Tag $tag
    Write-Host $rgname
    Clear-Variable countcontent 
    Clear-Variable counter 
    Clear-Variable countString
   }
}

1 Ответ

0 голосов
/ 18 июня 2020

Есть обходной путь

$rg="myrg"
$Subscriptions = Get-AzSubscription
$Rglist=@()
foreach ($Subscription in $Subscriptions){
$Rglist +=(Get-AzResourceGroup).ResourceGroupName
}
$rgfinal=$rg
$i=1
while($rgfinal -in $Rglist){
$rgfinal=$rg +"0" + $i++
}
Write-Output $rgfinal
Set-AzContext -Subscription "Subscription Name"
$createrg= New-AzResourceGroup -Name $rgfinal -Location "location"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...