2017-02-23 1 views
0

J'essaie d'améliorer ma logique et de rendre le code plus efficace! Actuellement, je vérifie pour voir si un groupe de ressources existe - si c'est le cas, les nombres aléatoires sont ajoutés à la variable $ resGroup. Je pense que ce serait plus logique si je vérifiais pour voir si le $ resGroup + $ num est vérifié pour l'existence .. Tout conseil serait apprécié.Où vérifier où aller si le groupe de ressources existe déjà dans Azure

#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" 
} 
+0

Alors, quelle est la question? – MickyD

+0

Mis à jour le titre pour quelque chose de plus approprié. Je suppose que je demande où le meilleur endroit le chèque. –

Répondre

1

Eh bien, je vous suggère de mettre en œuvre quelque chose comme une boucle pour vérifier l'existence d'un groupe de ressources et de changer le nom:

$name = 'group' 

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

le seul inconvénient est que le nom obtiendrait chaînés, donc vous auriez group354, puis le groupe 354678, mais cela peut être travaillé avec quelque chose comme $name = $name -replace ".{3}$", eh bien vous avez l'idée.