Возможно, вам просто нужно удалить второй экземпляр Get-ChildItem
(отметив, что dir
является просто псевдонимом для Get-ChildItem
), так как это приводит к удалению дочерних элементов каждого из каталогов, возвращаемых первым:
Get-ChildItem "\\nas\Backup_old\*" -ErrorAction SilentlyContinue |
Where-Object { ((Get-Date) - $_.LastWriteTime).days -gt 30} |
Remove-Item -Recurse -Force -WhatIf
Посмотрите на вывод WhatIf и, если он выглядит так, как теперь он удалит то, что вы ожидаете, удалите -WhatIf
.