New-QADUser Cmd在PowerShell中调用时,不添加UserPrincipalName

我正尝试使用CSV文件,PowerShell和Quest的AD CmdLets将用户导入到AD中。 添加用户时,不会添加UserPrincipleName。

这里是一个CSV示例:


名字,姓氏,显示名称,SamAccount,UserPrincipleName,电子邮件

FirstA,LastA,“First Last”,FLastAL.ou1,FLastAL.ou1 @ clients.domain.local,FLastA @ outemail.com First2A,Last2A,“First2 Last”,FLast2AL.ou1,FLast2AL.ou1 @ clients.domain.local ,FLast2A @ outemail.com


这里是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" } 

我认为问题在于我们使用不使用RUS的Exchange 2007。 当我使用Exchange 2007 CmdLets执行相同的操作时,所有内容都正常工作。

您不需要设置UPN,它会自动为您生成: http : //msdn.microsoft.com/en-us/library/ms680857(VS.85).aspx

即使你设置了它(而且我们只做了一次),你也正在创build一个UPN不遵循约定的情况,所以你冒着某种事情的风险(通常是一个假设它始终遵循约定的应用程序)。

我不知道为什么New-QADUser cmdlet不会让你直接分配UPN。 这应该工作得很好。 虽然如果你正在处理大量的账户,速度会慢一些

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

我检查了最新的QAD版本(v1.2),它工作得很好。