mirror of
https://dev.azure.com/effectory/Survey%20Software/_git/Cloud%20Engineering
synced 2026-02-27 18:52:18 +01:00
78 lines
2.9 KiB
PowerShell
78 lines
2.9 KiB
PowerShell
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)
|