检查Azure资源组是否存在-Azure PowerShell

acruukt9  于 2022-11-10  发布在  Shell
关注(0)|答案(5)|浏览(175)

我正在尝试验证ResourceGroup是否存在,所以我认为下面的代码应该返回TRUE或FALSE,但它不会输出任何内容。

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

为什么我没有得到任何输出?

rryofs0p

rryofs0p1#

更新:

现在,您应该从新的交叉平台AZ PowerShell Module使用Get-AzResourceGroup cmdlet。:

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

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

原文答案:

有一个Get-AzureRmResourceGroup cmdlet:

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

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

w8biq8rn2#

尝尝这个

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

vbkedwbf3#

我是一个PS新手,我一直在寻找这个问题的解决方案。
我没有直接搜索,而是尝试使用PS帮助自己进行调查(以获得更多关于PS的经验),然后我想出了一个可行的解决方案。然后我搜索了一下,看看我与Maven的答案相比如何。我想我的解决方案不那么优雅,但更紧凑。我在这里报道,这样其他人就可以发表意见:

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

对我的逻辑的解释:我分析了Get-AzResourceGroup的输出,发现它要么是一个具有找到的资源组元素的数组,要么是空的,如果没有找到组。我选择了NOT(!)表单,该表单稍长一些,但允许跳过Else条件。最常见的情况是,如果资源组不存在,我们只需要创建它;如果资源组已经存在,我们什么也不需要做。

nwlqm0z1

nwlqm0z14#

我也在寻找同样的东西,但在我的场景中有一个额外的条件。
所以我是这样想出来的。获取场景详细信息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"
8wigbo56

8wigbo565#

有类似的挑战,我使用下面的脚本解决了它:

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

相关问题