Acho que o problema é que estamos usando o Exchange 2007, que não usa o RUS. Quando usei o CmdLets do Exchange 2007 para fazer a mesma coisa, tudo está funcionando corretamente.
Estou tentando importar usuários para o AD usando um arquivo CSV, PowerShell e AD CmdLets da Quest. Quando os usuários são adicionados, o UserPrincipleName não é adicionado.
Aqui está um exemplo de CSV:
FirstName, LastName, DisplayName, SamAccount, UserPrincipleName, Email
FirstA, LastA, "Primeiro Último", FLastAL.ou1, FLastAL.ou1 @ clients.domain.local, FLastA @ outemail.com First2A, Last2A, "First2 Last", FLast2AL.ou1, FLast2AL.ou1 @ clients.domain.local, FLast2A @ outemail.com
Aqui está o snippit do 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"
}
Você não precisa definir o UPN, ele é gerado automaticamente para você: link
Mesmo se você conseguiu configurá-lo (e nós fizemos uma vez), você está criando uma situação em que o UPN não segue a convenção, então você corre o risco de algo quebrar em algum lugar (normalmente um aplicativo que assume isso) sempre segue a convenção).
Não sei por que o cmdlet New-QADUser não permite atribuir o UPN diretamente. Isso deve funcionar bem. Embora seja um pouco mais lento se você estiver processando um número muito grande de contas
$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
}
Eu verifiquei com a versão mais recente do QAD (v1.2) e ela funciona bem.