Imposta Suffisso UPN predefinito per la creazione di nuovi utenti in Active Directory


12

C'è un modo per impostare il suffisso UPN predefinito per la creazione di nuovi utenti di Active Directory?

Ad esempio, se ho corp.mydomain.com come dominio AD e ho aggiunto un suffisso UPN alternativo in Domini e trust che è solo mydomain.com, esiste un modo per impostare quel dominio come predefinito durante la creazione di nuovi gli utenti?

So che posso solo creare un utente modello e quindi quando lo copio, avrà il giusto suffisso predefinito, ma sono solo curioso di sapere se ci fosse un'impostazione nascosta che lo avrebbe controllato.

Risposte:


8

Non esiste un meccanismo documentato di cui sono a conoscenza per modificare il suffisso UPN predefinito che viene scelto da Utenti e computer di Active Directory. Credo che lo strumento sia cablato per accettare la prima porzione dell'attributo "canonicalName" definito sull'oggetto "crossRef" per il dominio specificato in "CN = Partitions, CN = Configuration, ..." nella foresta.

Utenti e computer AD sono semplicemente cablati per farlo. Se si creano account utente utilizzando altri mezzi ("NET USER ... / add", ad esempio), nessun attributo userPrincipalName verrà assegnato all'account. Il suffisso UPN predefinito è in realtà solo un valore predefinito in Utenti e computer AD, non un valore predefinito del servizio di directory stesso.

Se dovessi imbatterti nell'articolo di Microsoft KB con uno script che mostra come ottenere a livello di codice il suffisso UPN predefinito ( http://support.microsoft.com/default.aspx?scid=kb;en-us;Q269441 ), attenzione che lo script contiene un paio di errori di sintassi (le righe 17 e 32 non sono corrette e srrNamingContext alla riga 32 dovrebbe essere strNamingContext). Includerò una versione fissa con un piccolo miglioramento alla fine di questo post (mostra i nomi delle singole unità organizzative in cui è possibile definire ulteriori suffissi UPN).

Mi piacerebbe essere corretto da qualcuno più "consapevole" di me, ma non vedo alcun modo per indurre gli Utenti e i computer AD ad agire in modo diverso.

' --- 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

Speravo ci fosse qualche voce del registro o qualcosa del genere. Lo segnerò come corretto se nessun altro entra in contatto con qualcosa nelle prossime 24 ore.
Adam Brand,

Nel nostro caso eseguiamo uno script giornaliero che controlla UPN di ciascun utente e se non hanno nomi standard, li cambia in standard. Questo script esamina molti attributi e li corregge, se necessario.
KAP

@KAPes: è un'idea chiara. Nei siti in cui più amministratori delegati di AD creano account utente, in genere ho distribuito script per eseguire la maggior parte delle faccende di provisioning. Tuttavia, ho potuto vedere lo scripting di alcune query LDAP per generare "Ehi, scemo, hai eseguito il provisioning di questo errore!" e-mail (o, ovviamente, per riparare le cose automaticamente quando il computer ha abbastanza informazioni per farlo automaticamente).
Evan Anderson,

La risposta di Evan è ancora corretta. Alcuni hanno anche suggerito di impostare l'attributo uPNSuffixes sull'unità organizzativa. Questo semplicemente sovrascriverà l'elenco uPNSuffix impostato sul dominio, ma rimarrà comunque predefinito sul nome canonico del dominio.
charleswj81,

8

Questo non può essere fatto per quanto ne so (la risposta di Evan è ancora vera 4 anni dopo).

Detto questo, ho scritto uno script che viene eseguito nell'utilità di pianificazione ogni poche ore su più di un client. Cerca un suffisso specifico (il valore predefinito nella maggior parte dei casi) e lo passa a un altro. Lo script è sul mio blog ma lo posterò anche qui :)

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
}

In questo caso, gli utenti creati con un ad.example.comsuffisso UPN verranno aggiornati con il example.comsuffisso.


Ho pensato di usare le notifiche di modifica di AD per fare questo tipo di cose in tempo reale, ma sarebbe eccessivamente sciocco.
Evan Anderson,

1
UPN sta diventando sempre più importante con i requisiti O365 e dirsync per ADFS SSO. Ormai
penseresti

A volte penso di essere l'unica persona che utilizza effettivamente i prodotti Microsoft. > smile <Mi sto preparando a fare la mia prima implementazione di Office365 nelle prossime due settimane (completo con scambio ibrido on-site / off-site) così potrò sperimentare tutto questo SSFS ADFS e DirSync divertente presto abbastanza.
Evan Anderson,

Non faccio direttamente O365 (abbiamo un paio di collaboratori in staff), ma ho fatto un po 'di lavoro su Intune che usa lo stesso tenant di Azure AD. Spero che il tuo primo giro sia più fluido del mio :)
MDMarra,

Aggiungendo una nota che .Replace fa distinzione tra maiuscole e minuscole, quindi se UserPrincipalName è "username@AD.Example.com", non corrisponderà alla stringa di "ad.example.com". Questo può aggiungere un metodo .toLower () prima come questo: $ UPN = $ _. UserPrincipalName.toLower (). Sostituisci ("ad.example.com", "example.com")
Chad Rexin il

0

È possibile impostare i suffissi UPN consentiti, accedendo ad ADSIEDIT.MSC, collegandolo alla struttura dell'unità organizzativa, facendo clic con il pulsante destro del mouse sull'unità organizzativa (nella configurazione predefinita) e modificando gli attributi dell'unità organizzativa. L'attributo OU da modificare è UPNSuffixes. Ciò non influisce tuttavia sull'UPN predefinito assegnato a un utente creato all'interno di tale unità organizzativa. Aggiungi il suffisso UPN desiderato a questo elenco. Quindi, creare un utente modello da copiare. Fare clic con il tasto destro del mouse sull'unità organizzativa, creare un nuovo utente da utilizzare come modello, assegnare il suffisso UPN corretto, quindi fare clic con il tasto destro dell'utente una volta creato e disabilitare l'account. Per creare un nuovo utente, fai clic con il pulsante destro del mouse sull'utente modello e copia .. compila i campi selezionati e il nuovo utente verrà creato con l'UPN corretto. Crea più utenti modello per i diversi UPNS. Oppure, in caso di dubbio, passa a PowerShell.


-3

In realtà, è possibile eseguire nel modulo Active Directory per Powershell: Set-ADOrganizationalUnit "OU = XXX, DC = Dominio, DC = com" -Add @ {upnsuffixes = "@ UPNSuffix.com".

Oppure potresti usare un "Get-adorganizationalUnit" con un interruttore -Filter e condurlo a un 'Set-ADOrganizationalUnit -Add @ {upnsuffixes = "@ UPNSuffix.com"'

L'ho trovato dopo aver cercato per un po 'di tempo, quindi spero che questo aiuti chiunque.


La domanda riguarda l'impostazione del suffisso predefinito per l'aggiunta di nuovi utenti, non l'aggiunta di un suffisso upn.
austinian,

-4

Questo articolo tecnico descrive come aggiungere o rimuovere i suffissi UPN nel tuo dominio:

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

C'è anche una discussione qui:

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

Non posso garantirlo personalmente in quanto non ho mai dovuto farlo, ma una cosa mi viene in mente. Se hai intenzione di farlo, dovrai tenere presente che mentre AD funzionerà correttamente, lo stesso potrebbe non essere il caso di qualsiasi software di terze parti in tuo possesso, il che potrebbe presupporre che il suffisso UPN sia sempre quello standard . Considera attentamente le conseguenze prima di apportare la modifica, in altre parole.


2
Sì, so come aggiungere suffissi UPN. La mia domanda era sull'impostazione del suffisso predefinito per l'aggiunta di nuovi utenti.
Adam Brand,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.