param ( [Parameter(Mandatory=$true)] [string] $Account, [Parameter(Mandatory=$true)] [string] $targetFolder, [Parameter(Mandatory=$true)] [string] $ContainerName, [Parameter(Mandatory=$true)] [string] $Rgname, [Parameter(Mandatory=$true)] [string] $csvname ) $csvName="\$csvname.csv" $FilePathLocation="$targetFolder$csvName" $headerFlag=$true if($headerFlag) { Add-Content -Path $FilePathLocation -Value ("Path,Size-in-MB") $headerFlag=$false } function print { param ( [Parameter(Mandatory=$true)] [string] $Account, [Parameter(Mandatory=$true)] [string] $ContainerName ) $ctx = Get-AzStorageAccount -StorageAccountName $Account -ResourceGroupName $Rgname $childList = Get-AzDataLakeGen2ChildItem -Context $ctx.Context -FileSystem $ContainerName -Recurse $dire = $childList | Where-Object IsDirectory -eq $true $arr += @() foreach($d in $arr) { $Files = Get-AzDataLakeGen2ChildItem -Context $ctx.Context -FileSystem $ContainerName -Path $d -Recurse -MaxCount 20000 | Where-Object IsDirectory -eq $false $Total = $Files | Measure-Object -Property Length -sum $myval = $Total | Select-Object @{Name = "SizeinMB"; Expression={_.Sum/1MB}} Add-Content -Path $FilePathLocation -Value ($d + "," + $myval) } } try { Write-Host "Please do not close this powershell window .. " return (print -Account $Account -ContainerName $ContainerName) } catch { Write-Error "Opearation Failed with the following error : $(erro[0])" }