Primeiro de tudo, você teve alguns erros no seu código. O objeto individual de uma lista dentro de uma cláusula where é tratado por $_
, não $
.
E você estava pensando na esquina. Sua abordagem foi um pouco complicada. Tente isto em vez disso:)
Get-ChildItem Z:\ -Recurse | where { $_.GetAccessControl().Owner -eq "DOMAIN\username"} | Remove-Item
Embora, pessoalmente, eu não ache que essa seja realmente a melhor abordagem, já que o Proprietário pode nem sempre ser quem você pensa que é.