Isso é devido ao modo como o Powershell lida com variáveis entre aspas. Basicamente, ao invés de ficar
$_.SamAccountName
Você estava realmente conseguindo
$_ + "SamAccountName"
Para resolver isso, basta usar o seguinte método para encapsular suas variáveis:
Set-ADUser $_.SamAccountName -HomeDrive "Z:" -HomeDirectory "\serverName\shareName\$($_.SamAccountName)"
Atualização: @JScott informou que esse método é chamado de "subexpressão"