Narrow the candidates by size first
Hashing a whole drive takes hours. Identical files always have identical size, so group by length and skip every size that occurs once.
$root = 'D:\Archive'
Get-ChildItem $root -Recurse -File -ErrorAction SilentlyContinue | Group-Object Length | Where-Object Count -gt 1 | Sort-Object Count -Descending | Select-Object -First 10 Name,Count