I am trying to import users into AD using a CSV file, PowerShell, and Quest's AD CmdLets. When the users are added the UserPrincipleName is not added.
Here is a sample CSV:
FirstName,LastName,DisplayName,SamAccount,UserPrincipleName,Email
FirstA,LastA,"First Last",FLastAL.ou1,[email protected],[email protected] First2A,Last2A,"First2 Last",FLast2AL.ou1,[email protected],[email protected]
Here is the PowerShell snippit:
$Users = Import-Csv $UserFile
foreach ($User in $Users)
{
New-QADUser -FirstName $User.FirstName -LastName $User.LastName -DisplayName $User.DisplayName -SamAccountName $User.SamAccount -Name $User.SamAccount -UserPrincipalName $User.UserPrincipalName -ParentContainer "OU=$OUName,OU=Customers,DC=clients,DC=domain,DC=local"
}
I think the problem was the fact that we are using Exchange 2007 which does not use RUS. When I used the Exchange 2007 CmdLets to do the same thing everything is working correctly.
You don't need to set the UPN, it's automatically generated for you: http://msdn.microsoft.com/en-us/library/ms680857(VS.85).aspx
Even if you did manage to set it (and we did once) you're creating a situation where the UPN does not follow convention, so you run the risk of something breaking somewhere down the line (normally an application that assumes it always follows convention).
I don't know why the New-QADUser cmdlet won't let you assign the UPN directly. This should work just fine. Although it will be a little bit slower if you are processing a very large number of accounts
I checked with the latest QAD release (v1.2) and it works just fine.