Simple search (with progress feedback) :
$MinSize = 500MB; Get-ChildItem -Path C:\ -Recurse -Depth 10 -ErrorAction SilentlyContinue | ForEach-Object { if (-not $_.PSIsContainer -and $_.Length -gt $MinSize) { "{0} MB`t{1}" -f [math]::Round($_.Length/1MB,2), $_.FullName } }
Order search (no progress feedback):
$MinSize = 100MB; Get-ChildItem -Path C:\ -Recurse -Depth 10 -ErrorAction SilentlyContinue | Where-Object { -not $_.PSIsContainer -and $_.Length -gt $MinSize } | Sort-Object Length -Descending | ForEach-Object { "{0} MB`t{1}" -f [math]::Round($_.Length/1MB,2), $_.FullName }