我正尝试使用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),它工作得很好。