2017-02-23 48 views
0

我試圖改進自己的邏輯並使代碼更高效!目前我正在檢查資源組是否存在 - 如果存在,隨機數字將附加到$ resGroup變量中。我認爲這將更符合邏輯,如果我檢查$ resGroup + $ num是否存在檢查。任何意見,將不勝感激。如何檢查資源組已在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

那麼問題是什麼? – MickyD

+0

已將標題更新爲更合適的內容。猜猜我在問什麼最好的地方支票。 –

回答

1

嗯,我會建議你實現如環東西來檢查資源組的存在並更改名稱:

$name = 'group' 

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

唯一不足的是,這個名字將獲得級聯,所以你會有group354,然後是group354678,但是這可以用$name = $name -replace ".{3}$"之類的東西解決,那麼你明白了。