When I use Write-Host within a Foreach-Object, I get an unnecessary space in the output.
Write-Host
Foreach-Object
write-host \"http://contoso.com/personal/\
Just do it without write-host:
write-host
"http://contoso.com/personal/{0}" -f $_.ADUserName