Definir sufixo UPN padrão para criar novos usuários no Active Directory

12

Existe uma maneira de definir o sufixo UPN padrão para criar novos usuários, um Active Directory?

Por exemplo, se eu tiver corp.mydomain.com como meu domínio do AD e adicionar um sufixo UPN alternativo em Domínios e relações de confiança que é apenas meudomínio.com, existe alguma maneira de que esse domínio seja o padrão ao criar um novo Comercial?

Eu sei que posso apenas criar um usuário de modelo e, quando copiá-lo, ele terá o sufixo padrão correto, mas apenas curioso para saber se havia uma configuração oculta que controlaria isso.

Adam Brand
fonte

Respostas:

8

Não há nenhum mecanismo documentado que eu saiba alterar o sufixo UPN padrão escolhido pelos usuários e computadores do Active Directory. Acredito que a ferramenta esteja conectada por cabo para levar a primeira parte do atributo "canonicalName" definida no objeto "crossRef" para o domínio especificado em "CN = Partições, CN = Configuração, ..." em sua floresta.

Usuários e computadores do AD apenas estão conectados para fazer isso. Se você criar contas de usuário usando outros meios ("NET USER ... / add", por exemplo), nenhum atributo userPrincipalName será atribuído à conta. O sufixo UPN padrão é realmente apenas um padrão em Usuários e computadores do AD, não um padrão do próprio serviço de diretório.

Se você encontrar o artigo da Microsoft KB com um script que mostra como obter programaticamente o sufixo UPN padrão ( http://support.microsoft.com/default.aspx?scid=kb;en-us;Q269441 ), cuidado para que o script contenha alguns erros de sintaxe (as linhas 17 e 32 estão malformadas e srrNamingContext na linha 32 deve ser strNamingContext). Incluirei uma versão fixa com uma pequena melhoria no final deste post (ele mostra os nomes de OUs individuais em que sufixos UPN adicionais podem ser definidos).

Eu adoraria ser corrigido por alguém mais "informado" do que eu, mas não estou vendo nenhuma maneira de fazer com que os usuários e computadores do AD ajam de maneira diferente.

' --- Get the naming contexts ----
Set RootDSE = GetObject("LDAP://RootDSE")
strNamingContext = RootDSE.Get("defaultNamingContext")
strConfigContext = RootDSE.Get("configurationNamingContext")

' -- Get the current domain name --
Set oDomain = GetObject("LDAP://" + strNamingContext)
strDomainName = oDomain.Get("name")

Set oPartition = GetObject("LDAP://CN=Partitions," & strConfigContext)

'-- Get the DNS name of the domain --
oDomain.GetInfoEx Array("canonicalName"), 0
strCanonical = oDomain.Get("canonicalName")
strDNSName = Left(strCanonical, Len(strCanonical) - 1) 'clip off "/"

'-- Display the default UPN suffix
wscript.echo strDNSName

'-- Get the defined upnSuffixes --
suffixes = oPartition.GetEx("UPNSuffixes")
For Each upnSuffix In suffixes
  wscript.echo upnSuffix
Next
Set RootDSE = Nothing
Set oDomain =Nothing
Set oPartition = Nothing

' -- Get the upnsuffixes defined on organizational units --
Set ADOconn = CreateObject("ADODB.Connection")
Set ADOcom = CreateObject("ADODB.Command")

ADOconn.Provider = "ADsDSOObject"
bstrADOQueryString = "<LDAP://" + strNamingContext + ">;(objectcategory=organizationalUnit);upnsuffixes,ADsPath;subtree"
wscript.echo bstrADOQueryString 
ADOconn.Open
ADOcom.ActiveConnection = ADOconn

ADOcom.CommandText = bstrADOQueryString
ADOcom.Properties("Page Size") = 99

Set objRS = ADOcom.Execute

While Not objRS.EOF
   If Not IsNull(objRS.Fields("upnSuffixes")) Then
    upnsuffixes = objRS.Fields("upnSuffixes")
    For Each upnsuffix In upnsuffixes
        wscript.echo objRS.Fields("adsPath") & " - Suffix: " & upnsuffix
    Next
   End If

   objRS.MoveNext
Wend

Set objRS = Nothing
Set ADOcom = Nothing
Set ADOconn = Nothing
Evan Anderson
fonte
Eu esperava que houvesse alguma entrada no registro ou algo assim. Vou marcar isso como correto se ninguém mais entrar em contato com nada nas próximas 24h.
Adam Brand
No nosso caso, executamos um script diário que verifica o UPN de cada usuário e, se eles não tiverem nomes padrão, eles serão alterados para padrão. Este script analisa muitos atributos e os corrige, se necessário.
KAPes
@ Kapes: Essa é uma ideia interessante. Nos sites em que vários administradores delegados do AD criam contas de usuário, normalmente implantei scripts para executar a maioria das tarefas de provisionamento. Ainda assim, eu pude ver scripts para algumas consultas LDAP para gerar "Ei, idiota - você provisionou isso errado!" e-mails (ou, obviamente, para consertar as coisas automaticamente quando o computador tiver informações suficientes para fazê-lo automaticamente).
Evan Anderson
A resposta de Evan ainda está correta. Alguns também sugeriram definir o atributo uPNSuffixes na UO. Isso simplesmente substituirá a lista de uPNSuffixes configurados no domínio, mas ainda será o padrão para o canonicalName do domínio.
charleswj81
8

Isso não pode ser feito até onde eu sei (a resposta de Evan ainda é verdadeira 4 anos depois).

Dito isto, escrevi um script que é executado no agendador de tarefas a cada poucas horas em mais de um cliente. Ele procura por um sufixo específico (o padrão na maioria dos casos) e o alterna para outro. O script está no meu blog, mas eu vou postá-lo aqui também :)

Import-Module ActiveDirectory


Get-ADUser -Filter {UserPrincipalName -like "*@ad.example.com"} -SearchBase "OU=SomeUserOu,DC=ad,DC=example,DC=com" |
ForEach-Object {
    $UPN = $_.UserPrincipalName.Replace("ad.example.com","example.com")
    Set-ADUser $_ -UserPrincipalName $UPN
}

Nesse caso, os usuários criados com um ad.example.comsufixo UPN serão atualizados com o example.comsufixo.

MDMarra
fonte
Comecei a pensar em usar as notificações de alteração do AD para fazer esse tipo de coisa em tempo real, mas isso seria um exagero bobo.
Evan Anderson
1
O UPN está se tornando cada vez mais importante com os requisitos do O365 e dirsync para o SSO do ADFS. Você pensaria que haveria algo cozido em até agora :)
MDMarra
Às vezes, acho que sou a única pessoa que realmente usa os produtos da Microsoft. > smile <Estou me preparando para fazer minha primeira implementação do Office365 nas próximas semanas (completo com Exchange híbrido no local / fora do local), para experimentar em breve toda a diversão do SSO e DirSync do ADFS suficiente.
Evan Anderson
Não faço o O365 diretamente (temos alguns colegas de trabalho na equipe), mas fiz alguns trabalhos no Intune que usam o mesmo inquilino do Azure AD. Espero que o seu primeiro passeio é mais suave do que o meu era :)
MDMarra
Adicionando uma observação de que .Replace faz distinção entre maiúsculas e minúsculas, portanto, se o UserPrincipalName for "[email protected]", ele não corresponderá à sequência de "ad.exemplo.com". Isso pode incluir um método .toLower () primeiro assim: $ UPN = $ _. UserPrincipalName.toLower (). Substitua ("ad.example.com", "example.com")
Chad Rexin
0

Você pode definir os sufixos UPN permitidos, acessando ADSIEDIT.MSC, conecte-se à estrutura da unidade organizacional, clique com o botão direito do mouse na unidade organizacional (na configuração padrão) e edite os atributos da unidade organizacional. O atributo OU para editar é UPNSuffixes. No entanto, isso não afeta o UPN padrão atribuído a um usuário criado nessa OU. Adicione o sufixo UPN desejado a esta lista. Em seguida, crie um usuário de modelo para Copiar. Clique com o botão direito do mouse na UO, crie um novo usuário para usar como modelo, atribua o Sufixo UPN correto e clique com o botão direito do mouse no usuário criado e desative a conta. Para criar um novo usuário, clique com o botão direito do mouse no usuário do modelo e copie. Preencha os campos selecionados e o novo usuário será criado com o UPN apropriado. Crie vários usuários de modelo para os diferentes UPNS. Ou, em caso de dúvida, mude para o PowerShell.

Justin Robbins
fonte
-3

Na verdade, você pode executar no Módulo do Active Directory para PowerShell: Set-ADOrganizationalUnit "OU = XXX, DC = Domínio, DC = com" -Add @ {upnsuffixes = "@ UPNSuffix.com".

Ou você pode usar um "Get-adorganizationalUnit" com uma opção -Filter e canalizar para um 'Set-ADOrganizationalUnit -Add @ {upnsuffixes = "@ UPNSuffix.com"'

Achei isso depois de procurar por um bom tempo, então espero que isso ajude alguém.

Herb Huddleston
fonte
A questão é definir o sufixo padrão para adicionar novos usuários, não adicionar um sufixo upn.
de Austin
-4

Este artigo técnico descreve como adicionar ou remover sufixos UPN no seu domínio:

http://technet.microsoft.com/en-us/library/cc756018(WS.10).aspx

Há também uma discussão sobre isso aqui:

http://technet.microsoft.com/en-us/library/cc739093(WS.10).aspx

Não posso atestar isso pessoalmente, porque nunca tive que fazer isso, mas uma coisa vem à mente. Se você fizer isso, precisará ter em mente que, embora o AD funcione corretamente, o mesmo pode não ser o caso de qualquer software de terceiros que você possua, o que pode assumir que o sufixo UPN é sempre o padrão . Considere as consequências cuidadosamente antes de fazer a alteração, em outras palavras.

Maximus Minimus
fonte
2
Sim, eu sei como adicionar sufixos UPN. Minha pergunta foi definir o sufixo padrão para adicionar novos usuários.
Adam Brand