Naming conformance - using SMTP address naming or User Principle Name (UPN)


We are planning to migrate to O365 through an IT services company and i have been asked
about the requirement for  naming conformance whether we will using SMTP address naming or User Principle Name (UPN)

Not sure what this is related to the O365 migration. Any information or sugessions on this will be great.

Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

MASEE Solution Guide - Technical Dept HeadCommented:
Hi lianne143,
When you migrate to O365 your UPN will be changed to your email address,
i.e. emailaddress and UPN in your local AD will be same.

lianne143Author Commented:
The current email format for our organisation is is

Our organisation will be joining another (GAPT) trust  and will changing the email domain and once we migrate the O365
our new email format will be :

So after migration when the user log into , what will be the UPN,
will they use the email address to log in or the UPN.

MASEE Solution Guide - Technical Dept HeadCommented:
-->So after migration when the user log into , what will be the UPN,
The active email address will be your UON

-->will they use the email address to log in or the UPN.
UPN will be equal to email address.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Creating Active Directory Users from a Text File

If your organization has a need to mass-create AD user accounts, watch this video to see how its done without the need for scripting or other unnecessary complexities.

Shaun VermaakTechnical SpecialistCommented:
Old VBS I wrote years ago

Option Explicit

'On Error Resume Next

Const ForAppending=8

Dim objConnection
Dim objCommand
Dim objRecordSet
Dim strdistinguishedName
Dim strdNSHostName
Dim strTarget
Dim strIPAddress
Dim intCnt
Dim intTotal
Dim strcn
Dim objRootDSE
Dim strDNSDomain
Dim strmail
Dim strADsPath
Dim struserPrincipalName
Dim arruserPrincipalName
Dim objUser
Dim strsAMAccountName
Dim strLeftPartOfUPN
Dim blnShouldRun

Set objConnection=CreateObject("ADODB.Connection")
Set objCommand=CreateObject("ADODB.Command")
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection=objConnection
Set objRootDSE = GetObject("LDAP://RootDSE")

strDNSDomain = objRootDSE.Get("defaultNamingContext")

objCommand.Properties("Page Size")=1000

objCommand.CommandText="SELECT ADsPath,userPrincipalName,sAMAccountName,mail,cn,distinguishedName FROM 'LDAP://" & strDNSDomain & "' WHERE objectCategory='Person' AND objectClass='User'" 
Set objRecordSet=objCommand.Execute

Do Until objRecordSet.EOF
    blnShouldRun = False

    strdistinguishedName = objRecordSet.Fields("distinguishedName").Value
    strcn = objRecordSet.Fields("cn").Value
    strmail = objRecordSet.Fields("mail").Value
    struserPrincipalName = objRecordSet.Fields("userPrincipalName").Value
    strsAMAccountName = objRecordSet.Fields("sAMAccountName").Value

    strADsPath = objRecordSet.Fields("ADsPath").Value
    Set objUser = GetObject(strADsPath)

    If IsNull(struserPrincipalName) Then
        blnShouldRun = True
        'WScript.Echo struserPrincipalName
        arruserPrincipalName = Split(struserPrincipalName,"@")
        If IsNumeric(arruserPrincipalName(0)) Then
            blnShouldRun = True
        End If
    End If

    If blnShouldRun = True Then
        If strmail <> "" Then
            LogAndDisplay(struserPrincipalName & vbTab & strmail & vbTab & strcn & vbTab & vbTab & strdistinguishedName)
            objUser.userPrincipalName = strmail
        End If
    End If

    Set objUser = Nothing


Set objRootDSE=Nothing
Set objConnection=Nothing
Set objCommand=Nothing
Set objRecordSet=Nothing

Sub LogAndDisplay(strLine)
    On Error Resume Next

    Dim objFSO
    Dim objTextFile

    WScript.Echo strLine

    Set objFSO=CreateObject("Scripting.FileSystemObject")
    Set objTextFile=objFSO.OpenTextFile("UpdateUPNtoEmail.log",ForAppending,True)



    Set objFSO=Nothing
    Set objTextFile=Nothing

    On Error Goto 0
End Sub

Open in new window

lianne143Author Commented:
Hi Shaun

What does this VBS script do .
Shaun VermaakTechnical SpecialistCommented:
It sets the UPN to the email address
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Office 365

From novice to tech pro — start learning today.