1

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"
}

4 Answers 4

1

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.

0

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).

2
  • Hey mh. Thanks for the feedback. I initially tried not setting it an it did not get created automatically. I assumed that was an artifact of the way the New-QADUser CmdLet added the user. That is why I tried setting it but that isn't working either. Jun 1, 2009 at 18:40
  • Been a while since I checked but if memory serves the UPN is created when the user logs on or something similar. Jun 1, 2009 at 19:19
0

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

$Users = Import-Csv $uf
$OUName = "some specified OU"
foreach ($User in $Users)
{
    $u = New-QADUser -FirstName $User.FirstName -LastName $User.LastName -DisplayName $User.DisplayName -SamAccountName $User.SamAccount -Name $User.SamAccount -UserPrincipalName -ParentContainer "OU=$OUName,OU=Customers,DC=clients,DC=domain,DC=local"
    $u.UserPrincipalName = $user.UserPrincipalName
}
0

I checked with the latest QAD release (v1.2) and it works just fine.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .