2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Azureサブスクリプション内のリソースを全消しするPowerShell (Azure PowerShell)

Last updated at Posted at 2023-08-07

こんにちは駆け出しアーキテクトのやまぱんです。
Azure を触る人は定期的にむしゃくしゃして? Azure の検証環境を壊したくなることがあると思います。
そうした時になるべ楽したいと思います。

一番の注意

まず、操作対象のSubscriptionであることを確認してください

  • Get-AzContextを用いて現在のSubscription IDが正しいか確認しましょう。
    2023-08-07_22h34_52.png

or

  • ログイン時 Connect-AzAccount を利用する際にオプション -Subscription (Subscription ID) を利用して 正しいSubscription にログインしましょう。
    誤って権限のある他人の検証環境に入った状態で実行してしまうことは避けましょう!
    image

その他

  • Azure のリソースを全消しします。

  • 例えば個人の検証環境をクリーンにしたくなる時に使います。

  • このコードを実行する前に、Azureアカウントに管理者アクセス権限があることを確認してください。

  • 大体きれいに全消しはできないです。簡単に削除できるものを削除します。

  • 残ったリソースはリソースロックや、論理削除が有効になってたりします。それらの設定を確認して変更してください。

  • その他バグったリソースなどは消せないことがあります。 このコマンドはそうした削除できなくなったリソースには効果がありません。
    その場合は、下記の方法を確認してください。
    • Azure PowerShellで正しい値に設定しなおす
    • Resource Explorerで正しい値に設定しなおす
    • JSONテンプレートの完全デプロイを試す

  • もし、特定のリソースを削除したくない場合は、適切にコードを修正してください。

  • 「-Force」オプションおよび「-Confirm:$false」オプションを使用することで、確認メッセージが表示されずにリソースが削除されます。

  • これにより、誤ってリソースを削除するリスクが高まるので、注意して使用してください。

  • また、上記のコードは一度に全てのリソースを削除しますが、通常はそのような大規模な削除操作は避けるべきです。必要なリソースだけを選択的に削除することをお勧めします。

実行途中の画面:ロックがかかってるリソースは失敗している

image

ソース

Azure PowerShell
# 全てのリソースグループを取得してループで処理
$resourceGroups = Get-AzResourceGroup
foreach ($resourceGroup in $resourceGroups) {
    # リソースグループ内のリソースを全て削除
    $resources = Get-AzResource -ResourceGroupName $resourceGroup.ResourceGroupName
    foreach ($resource in $resources) {
        Write-Host "Deleting resource: $($resource.Name)..."
        Remove-AzResource -ResourceId $resource.ResourceId -Force -Confirm:$false
    }
    
    # リソースグループ自体を削除
    Write-Host "Deleting resource group: $($resourceGroup.ResourceGroupName)..."
    Remove-AzResourceGroup -Name $resourceGroup.ResourceGroupName -Force -Confirm:$false
}

Write-Host "All resources have been deleted."

関連

github https://github.com/aktsmm/Scripts/tree/main/ps/DeleteAllAzureResources

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?