Tôi có kiến thức hạn chế về PowerShell nhưng tôi muốn tính toán tổng kích thước (tính bằng GB) của mỗi tài khoản lưu trữ, hoặc mỗi container trong tài khoản lưu trữ của tôi. Tôi có nhiều tài khoản lưu trữ và vùng chứa trong nhiều nhóm tài nguyên.
Tôi đang gặp khó khăn trong việc tập hợp một tập lệnh kéo tất cả các tài khoản lưu trữ và vùng chứa vì tôi có nhiều hơn một nhóm tài nguyên. Tôi thấy tập lệnh bên dưới hoạt động tốt nhưng nó yêu cầu nhập tên của tài khoản lưu trữ duy nhất và nhóm tài nguyên.
Lý tưởng nhất, tôi muốn có thể chọn tất cả các tài khoản lưu trữ trong đăng ký của tôi và không phải buộc phải nhập tên tài khoản lưu trữ cá nhân và các nhóm tài nguyên. Tôi đánh giá cao bất kỳ trợ giúp/đề xuất nào với điều này, cảm ơn!
Connect-AzureRmAccount
$resourceGroup = "RGP-01"
$storageAccountName = "storagesg3"
$storageAccount = Get-AzureRmStorageAccount `
-ResourceGroupName $resourceGroup `
-Tên $storageAccountName
$ctx = $storageAccount.Context
$AllContainers = Get-AzureStorageContainer -Context $ctx
$AllContainersCount = $AllContainers.Count
Máy chủ ghi "Chúng tôi đã tìm thấy các thùng chứa '$($AllContainersCount)'. Kích thước xử lý cho mỗi thùng chứa"
$TotalLength = 0
$TotalContainers = 0
Foreach ($Container trong $AllContainers){
$TotalContainers = $TotalContainers + 1
Máy chủ ghi "Đang xử lý vùng chứa '$($TotalContainers)'/'$($AllContainersCount)'"
$listOfBLobs = Get-AzureStorageBlob -Container $Container.Name -Context $ctx
$chiều dài = 0
$listOfBlobs | ForEach-Object {$length = $length + $_.Length}
$TotalLength = $TotalLength + $length
}
$TotalLengthGB = $TotalLength /1024 /1024 /1024
Máy chủ ghi "Tổng chiều dài = " $TotallengthGB "GB"