CSV отчет о размере папок на жестком диске с помощью PowerShell

В $source указываем буквы дисков которые надо просканировать

Создаем каталог c:\Reports\ или указываем свой путь в Export-CSV

Сам скрипт:

$source= "D:\","F:\"
$time = Get-Date

$result = @()
foreach($d in $source)
{
	Get-ChildItem $d | where {$_.psIscontainer} | Foreach {
		$r = robocopy $_.FullName c:\dummy /l /xj /e /nfl /ndl /njh /bytes /r:0
		$data = $r -match "(Файлов|Байт)" -replace "\s+(Файлов|Байт)\s+:\s+" | Foreach {$_.split(" ")[0]}
		$result += New-Object PSObject -Property @{Folder=$_.FullName;Files=$data[0];"Size(mb)"=$data[1]/1mb;"Size(Gb)"=$data[1]/1gb}
	}
} 

$result | Select Folder,"Size(Gb)","Size(mb)",Files |  
	Export-CSV -NoType "c:\Reports\shd-$($time.ToString('ddMMyy')).csv" -Delimiter ";" -Encoding UTF8
	

ЗЫ: (8ТБ проанализировал за 15 минут)