param ( [string] $subscriptionId = "", [string] $resourcegroupName = "", [string] $storageAccountName = "" ) if (("" -eq $subscriptionId) -or ("" -eq $resourcegroupName) -or ("" -eq $storageAccountName)) { throw "Parameter(s) missing." } else { Write-Host "Processing subscription [$subscriptionId], resource group [$resourcegroupName], storage account [$storageAccountName]" } # .\AzureStoragebloblist.ps1 -subscriptionId "7feeb150-9ee0-4aea-992a-5f3a89d933e6" -resourcegroupName "results-activity" -storageAccountName "effactivity" # .\AzureStoragebloblist.ps1 -subscriptionId "7feeb150-9ee0-4aea-992a-5f3a89d933e6" -resourcegroupName "Results" -storageAccountName "myeffectoryresults" # .\AzureStoragebloblist.ps1 -subscriptionId "a134faf1-7a89-4f2c-8389-06d00bd5e2a7" -resourcegroupName "Default-Storage-WestEurope" -storageAccountName "ecestore" class BlobCheck { [string] $SubscriptionId = "" [string] $SubscriptionName = "" [string] $ResourcegroupName = "" [string] $StorageAccountName = "" [string] $ContainerName = "" [string] $BlobName = "" [string] $LastModifiedDate = "" } [int] $maxCount = 100000 $containerToken = $null $blobToken = $null [string] $date = Get-Date -Format "yyyy-MM-dd HHmm" $fileName = ".\$date - $storageAccountName - bloblist.csv" $subscription = Set-AzContext -SubscriptionId $subscriptionId $storageAccount = Get-AzStorageAccount -ResourceGroupName $resourcegroupName -Name $storageAccountName do { $containers = Get-AzStorageContainer -Context $storageAccount.Context -MaxCount $maxCount -ContinuationToken $containerToken foreach ($container in $containers) { do { [BlobCheck[]]$Result = @() $blobList = Get-AzStorageBlob -Container $Container.Name -Context $storageAccount.Context -MaxCount $maxCount -ContinuationToken $blobToken #-Prefix "projects" if ($blobList.Length -le 0) { Break; } foreach($blob in $blobList) { [BlobCheck] $blobCheck = [BlobCheck]::new() $blobCheck.SubscriptionId = $subscription.Subscription.Id $blobCheck.SubscriptionName = $subscription.Subscription.Name $blobCheck.ResourcegroupName = $resourcegroupName $blobCheck.StorageAccountName = $storageAccountName $blobCheck.ContainerName = $container.Name $blobCheck.BlobName = $blob.Name $blobCheck.LastModifiedDate = $blob.LastModified $Result += $blobCheck } $Result | Export-Csv -Path $fileName -NoTypeInformation -Append $blobToken = $blobList[$blobList.Count -1].ContinuationToken; } while ($null -ne $blobToken) } if ($containers.Length -le 0) { Break; } $containerToken = $containers[$containers.Count -1].ContinuationToken; } while ($null -ne $containerToken)