Peter Pavelka
Peter Pavelka

Reputation: 511

Check If Azure Resource Group Exist - Azure Powershell

I'm trying to verify if ResourceGroup exist or not so i thought that following code should return true or false, but it doesn't output anything.

$RSGtest = Find-AzureRmResource | Format-List ResourceGroupName | get-unique
$RSGtest -Match "$myResourceGroupName"

Why am I not getting any output?

Upvotes: 33

Views: 26714

Answers (5)

I-O
I-O

Reputation: 97

Had a similar challenge, I solved it using the script below:

$blobs = Get-AzureStorageBlob -Container "dummycontainer" -Context $blobContext -ErrorAction SilentlyContinue

## Loop through all the blobs
foreach ($blob in $blobs) {
    write-host -Foregroundcolor Yellow $blob.Name
    if ($blob.Name -ne "dummyblobname" ) {
        Write-Host "Blob Not Found"
    }
    else {
        Write-Host "bLOB already exist"
    }
}

Upvotes: 0

Martin Brandl
Martin Brandl

Reputation: 58931

Update:

You should use the Get-AzResourceGroup cmdlet from the new cross-plattform AZ PowerShell Module now. :

Get-AzResourceGroup -Name $myResourceGroupName -ErrorVariable notPresent -ErrorAction SilentlyContinue

if ($notPresent)
{
    # ResourceGroup doesn't exist
}
else
{
    # ResourceGroup exist
}

Original Answer:

There is a Get-AzureRmResourceGroup cmdlet:

Get-AzureRmResourceGroup -Name $myResourceGroupName -ErrorVariable notPresent -ErrorAction SilentlyContinue

if ($notPresent)
{
    # ResourceGroup doesn't exist
}
else
{
    # ResourceGroup exist
}

Upvotes: 54

Anton M
Anton M

Reputation: 818

I am a PS newbie and I was looking for a solution to this question.

Instead of searching directly on SO I tried to investigate on my own using PS help (to get more experience on PS) and I came up with a working solution. Then I searched SO to see how I compared to experts answers. I guess my solution is less elegant but more compact. I report it here so others can give their opinions:

if (!(Get-AzResourceGroup $rgname -ErrorAction SilentlyContinue))
   { "not found"}
else
   {"found"}

Explanation of my logic: I analyzed the Get-AzResourceGroup output and saw it's either an array with found Resource groups elements or null if no group is found. I chose the not (!) form which is a bit longer but allows to skip the else condition. Most frequently we just need to create the resource group if it doesn't exist and do nothing if it exists already.

Upvotes: 3

Raviraj Mehetre
Raviraj Mehetre

Reputation: 11

I was also looking for the same thing but there was a additional condition in my scenario.

So I figured it out like this. To get the scenario details follow

$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"

Upvotes: 1

Pawan Dubey
Pawan Dubey

Reputation: 324

try this

$ResourceGroupName = Read-Host "Resource group name"
Find-AzureRmResourceGroup | where {$_.name -EQ $ResourceGroupName}

Upvotes: 5

Related Questions