Короткие рабочие куски, которые проще держать под рукой, чем искать заново.
Get-ChildItem -Directory | ForEach-Object {
[pscustomobject]@{ Name = $_.Name
SizeMB = [math]::Round((Get-ChildItem $_ -Recurse -File |
Measure-Object Length -Sum).Sum / 1MB, 1) }
} | Sort-Object SizeMB -Descending
Get-ChildItem -Recurse -File | Where-Object LastWriteTime -lt (Get-Date).AddDays(-30)
$ns = New-Object Xml.XmlNamespaceManager $xml.NameTable
$ns.AddNamespace('d', $xml.DocumentElement.NamespaceURI)
$xml.SelectNodes('//d:Item', $ns)