Sean,
PowerShell won't resolve %username% for you but you can use the SamAccountName property if you add the HomeDirectory property after the Hashtable has been defined.
Example:
$hash = @{ Name = "$($user.firstname) $($user.middlename) $($user.lastname)" Displayname = "$($user.firstname) $($user.middlename) $($user.lastname)" Path = $ou Surname = $user.lastname GivenName = $user.firstname Initials = $user.middlename SamAccountName = "$($user.firstname[0])$($user.middlename[0])$($user.lastname)" UserPrincipalName = "$($user.firstname[0])$($user.middlename[0])$($user.lastname)@windhamsd.org" Email = $user.emailaddr Office = $user.schoolid Description = $user.description Homedrive = "H:" AccountPassword = $pass Enabled = $True ChangePasswordAtLogon = $True } $hash.HomeDirectory = ('\\servername.ccc.windhamsd.org\sharedfolder\{0}' -f $hash.SamAccountName)