Das erste Problem ist wohl, dass Get-ChildItem nur die Elemente eines Ordners zurück gibt. Damit Get-ChildItem auch rekursiv die Unterordner und deren Dateien ausgibt, gibst du einfach "-Recurse" an.
Um dann die Summe zu bilden kannst Du ForEach-Object verwenden (oder kurz %). Da gibt es drei Blöcke, einer welcher beim Start ausgeführt wird um den Zähler zu initialisieren (-Begin), der zweite welcher für jedes Objekt in der Collection aufgerufen wird (-Process) und der Dritte welcher für die abschliessenden Berechnungen verwendet werden kann (-End) z.B. um die Grösse in Bytes nach GB umzurechnen (GB = Bytes / 1000^3, Falls du GiB benötigst: einfach 1000 durch 1024 ersetzen).
Ich denke so sollte es funktionieren (Ich prüfe mit "-not PSIsContainer" zusätzlich noch dass es kein Ordner ist):
Code:
Get-ChildItem -Recurse "mein Pfad" | Where-Object {-not $_.PSIsContainer -and $_.LastWriteTime -le (Get-Date).AddMonths(-3)} | ForEach-Object -Begin {$total = 0} -Process {$total += $_.Length } -End {$total / [Math]::Pow(1000,3)}