-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGet-AzPublicContainers.ps1
More file actions
33 lines (30 loc) · 1.37 KB
/
Get-AzPublicContainers.ps1
File metadata and controls
33 lines (30 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#Requires -Modules Az.Storage, Az.Accounts
function Get-AzPublicContainers
{
Connect-AzAccount
$PublicContainers = @()
$count = 1
$AzureSubscriptions = Get-AzSubscription
foreach ($AzureSubscription in $AzureSubscriptions)
{
Select-AzSubscription -SubscriptionId $AzureSubscription.Id | Out-Null
Write-Host "Switching to Azure subscription `"$($AzureSubscription.Name)`" ($count from $($AzureSubscriptions.Count))"
foreach ($StorageAccount in $(Get-AzStorageAccount))
{
Write-Host " Getting containers from storage account `"$($StorageAccount.StorageAccountName)`""
try
{
$StorageContainers = Get-AzRmStorageContainer -StorageAccountName $StorageAccount.StorageAccountName -ResourceGroupName $StorageAccount.ResourceGroupName
foreach ($StorageContainer in ($StorageContainers | Where-Object PublicAccess -ne None))
{
$PublicContainers += [PSCustomObject]@{AzureSubscription = $AzureSubscription.Name; StorageAccount = $StorageAccount.StorageAccountName; StorageContainer = $StorageContainer.Name; PublicAccess = $StorageContainer.PublicAccess; LastModifiedTime = $StorageContainer.LastModifiedTime}
}
}
catch
{
}
}
$count++
}
return $PublicContainers
}