Puncte:0

Calculați dimensiunea conturilor și containerelor de stocare Azure folosind PowerShell

drapel cn

Am cunoștințe limitate despre PowerShell, dar aș dori să calculez dimensiunea totală (în GB) a fiecărui cont de stocare, sau fiecare recipient în conturile mele de stocare. eu am mai multe conturi de stocare și containere în mai multe grupuri de resurse.

Îmi este greu să creez un script care să extragă toate conturile și containerele de stocare, deoarece am mai multe grupuri de resurse. Am găsit scriptul de mai jos care funcționează bine, dar necesită introducerea numelui cont unic de stocare și grup de resurse.

În mod ideal, vreau să pot selectați toate conturile de stocare în abonamentul meu și nu fi forțat să introducă numele contului de stocare individual și grupurile de resurse. Aș aprecia orice ajutor/sugestii cu asta, mulțumesc!

# Conectați-vă la Azure
Connect-AzureRmAccount

# Valori statice pentru grupuri de resurse și nume de cont de stocare
$resourceGroup = "RGP-01"
$storageAccountName = „storagestg3”

# Obțineți o referință la contul de stocare și context
$storageAccount = Get-AzureRmStorageAccount `
-ResourceGroupName $resourceGroup `
-Nume $storageAccountName
$ctx = $storageAccount.Context

# Obțineți toate containerele blob
$AllContainers = Get-AzureStorageContainer -Context $ctx
$AllContainersCount = $AllContainers.Count
Write-Host „Am găsit containere „$($AllContainersCount)”. Dimensiunea procesării pentru fiecare”

# Zero contoare
$TotalLength = 0
$TotalContainers = 0

# Bucle pentru a trece peste fiecare container și a calcula dimensiunea
Foreach ($Container în $AllContainers){
$TotalContainers = $TotalContainers + 1
Write-Host „Se procesează containerul „$($TotalContainers)”/„$($AllContainersCount)””
$listOfBLobs = Get-AzureStorageBlob -Container $Container.Name -Context $ctx

# zero din totalul nostru
$lungime = 0

# aceasta trece prin lista de blob-uri și preia lungimea fiecărui blob și o adaugă la totalul
$listOfBlobs | Pentru fiecare obiect {$lungime = $lungime + $_.Lungime}
$TotalLength = $TotalLength + $lungime
}
# sfârșitul buclei containerului

#Convertiți lungimea în GB
$TotalLengthGB = $TotalLength /1024 /1024 /1024

# Ieșire rezultat
Write-Host "Total Length = " $TotallengthGB "GB"
djdomi avatar
drapel za
ce vorbește în mod specific împotriva modului leneș de a rula jocul de X ori?
jrd1989 avatar
drapel cn
Adică introduceți manual numele contului de stocare de fiecare dată? Dacă da, cu siguranță este posibil, dar am 4 abonamente diferite cu 50-75 de conturi de stocare fiecare, așa că ar fi plictisitor și consuma mult timp. Aș dori să automatizez procesul dacă este posibil
djdomi avatar
drapel za
Adică `$resourceGroup = "RGP-01"` și `$storageAccountName = "storagestg3"` par a fi variabilele care trebuie setate și, în primul rând, trebuie doar să scrieți un script care îl apelează din nou cu acești 2 parametri și ar putea fi necesar doar o singură dată
djdomi avatar
drapel za
dar aș recomanda să vă alăturați stackoverflow, deoarece aceasta este o acțiune de program și nu un caz de suport pentru serverfault

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.