在 PowerShell 中调用 New-QADUser CmdLet 时未添加 UserPrincipalName

在 PowerShell 中调用 New-QADUser CmdLet 时未添加 UserPrincipalName

我正在尝试使用 CSV 文件、PowerShell 和 Quest 的 AD CmdLets 将用户导入 AD。添加用户时未添加 UserPrincipleName。

以下是一个示例 CSV:


名字、姓氏、显示名称、SamAccount、用户主体名称、电子邮件

FirstA,LastA,"第一个姓氏",FLastAL.ou1,[电子邮件保护][电子邮件保护] 第一2A,最后一2A,“第一2最后一”,FLast2AL.ou1,[电子邮件保护][电子邮件保护]


以下是 PowerShell 代码片段:

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

答案1

我认为问题在于我们使用的是不使用 RUS 的 Exchange 2007。当我使用 Exchange 2007 CmdLets 执行相同操作时,一切都正常运行。

答案2

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

即使您确实设法设置了它(我们也设置了一次),您也会创建 UPN 不遵循惯例的情况,因此您可能会面临某些地方发生故障的风险(通常是假定它始终遵循惯例的应用程序)。

答案3

我不知道为什么 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
}

答案4

我检查了最新的 QAD 版本 (v1.2),它运行良好。

相关内容