44 lines
1.5 KiB
PowerShell
44 lines
1.5 KiB
PowerShell
# NAS /volume1/ directory listing scan script
|
|
# Double-click or run in PowerShell, lists all top-level dirs with sizes
|
|
|
|
$ErrorActionPreference = "Continue"
|
|
$outputFile = "$PSScriptRoot\nas_volumes.txt"
|
|
|
|
# Force UTF-8 console encoding for SSH output
|
|
chcp 65001 | Out-Null
|
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
|
|
Write-Host "===================================" -ForegroundColor Cyan
|
|
Write-Host " NAS /volume1/ Directory Scan" -ForegroundColor Cyan
|
|
Write-Host "===================================" -ForegroundColor Cyan
|
|
Write-Host ""
|
|
Write-Host "Scanning... du on large dirs may take 1-3 minutes" -ForegroundColor Yellow
|
|
Write-Host ""
|
|
|
|
$cmd = @"
|
|
echo '===== Top-level dirs in /volume1/ ====='
|
|
ls -la /volume1/ 2>&1 | grep -v '^total'
|
|
echo ''
|
|
echo '===== Size by dir (largest first, may take minutes) ====='
|
|
du -sh /volume1/*/ 2>/dev/null | sort -rh
|
|
echo ''
|
|
echo '===== /volume1/homes/ ====='
|
|
ls -la /volume1/homes/ 2>/dev/null | head -20
|
|
echo ''
|
|
echo '===== /volume1/homes/simon/ content ====='
|
|
ls -la /volume1/homes/simon/ 2>/dev/null | head -30
|
|
du -sh /volume1/homes/simon/*/ 2>/dev/null | sort -rh | head -20
|
|
echo ''
|
|
echo '===== DONE ====='
|
|
"@
|
|
|
|
ssh simon@100.85.152.112 $cmd 2>&1 | Tee-Object -FilePath $outputFile -Encoding UTF8
|
|
|
|
Write-Host ""
|
|
Write-Host "===================================" -ForegroundColor Green
|
|
Write-Host " Done. Output saved to:" -ForegroundColor Green
|
|
Write-Host " $outputFile" -ForegroundColor White
|
|
Write-Host "===================================" -ForegroundColor Green
|
|
Write-Host ""
|
|
Read-Host "Press Enter to close"
|