У меня ограниченные знания PowerShell, но я хотел бы рассчитать общий размер (в ГБ) каждой учетной записи хранения, или же каждый контейнер в моих учетных записях хранения. У меня есть несколько учетных записей хранения и контейнеров в несколько групп ресурсов.
Мне трудно составить сценарий, который извлекает все учетные записи хранения и контейнеры, поскольку у меня более одной группы ресурсов. Я нашел приведенный ниже скрипт, который отлично работает, но требует ввода имени единая учетная запись хранения и группа ресурсов.
В идеале я хочу иметь возможность выбрать все учетные записи хранения в моей подписке и нет необходимо ввести имя отдельной учетной записи хранения и группы ресурсов. Буду признателен за любую помощь/предложения по этому поводу, спасибо!
# Подключиться к Azure
Connect-AzureRmAccount
# Статические значения для имен групп ресурсов и учетных записей хранения
$resourceGroup = "РГП-01"
$storageAccountName = "storagestg3"
# Получить ссылку на учетную запись хранения и контекст
$storageAccount = Get-AzureRmStorageAccount `
-ResourceGroupName $resourceGroup `
-Name $storageAccountName
$ctx = $storageAccount.Context
# Получить все контейнеры больших двоичных объектов
$AllContainers = Get-AzureStorageContainer-Context $ctx
$AllContainersCount = $Всеконтейнеры.Count
Write-Host "Мы нашли контейнеры '$($AllContainersCount)'. Размер обработки для каждого из них"
# Нулевые счетчики
$Общая длина = 0
$ Всего Контейнеров = 0
# Цикл для просмотра каждого контейнера и вычисления размера
Foreach ($Container в $AllContainers){
$TotalContainers = $TotalContainers + 1
Write-Host "Обработка контейнера '$($TotalContainers)'/'$($AllContainersCount)'"
$listOfBLobs = Get-AzureStorageBlob -Container $Container.Name -Context $ctx
# обнуляем нашу сумму
$длина = 0
# это перебирает список больших двоичных объектов, извлекает длину каждого большого двоичного объекта и добавляет ее к общему количеству
$listOfBlobs | ForEach-Object {$length = $length + $_.Length}
$Общая длина = $Общая длина + $длина
}
# конец цикла контейнера
# Преобразование длины в ГБ
$TotalLengthGB = $TotalLength/1024/1024/1024
# Вывод результата
Write-Host "Общая длина = " $TotallengthGB "ГБ"