How to Change Default “First Last” to “Last, First” Name Format in Active Directory (Server 2003)


2 views

When creating new user accounts in Active Directory (particularly on Server 2003), the system automatically generates the "Full Name" field in "First Last" format based on the FirstName and LastName attributes. This default behavior remains consistent even through newer AD versions.

Many organizations require "Last, First" format for:

  • Compatibility with legacy systems
  • Corporate naming standards
  • Better sorting in global address lists
  • Compliance with specific industry conventions

For Server 2003, these are your primary modification methods:

Option 1: Using ADSI Edit

// PowerShell alternative for modern systems (reference only)
Set-ADUser -Identity username -Replace @{displayName="$($_.Surname), $($_.GivenName)"}

For Server 2003:

  1. Open ADSI Edit (adsiedit.msc)
  2. Navigate to CN=Users container
  3. Right-click the user → Properties
  4. Modify the 'displayName' attribute manually

Option 2: Schema Modification (Advanced)

Warning: Schema changes are irreversible. Create a backup first.

// Sample LDIF for schema extension (conceptual example)
dn: CN=Person,CN=Schema,CN=Configuration,DC=domain,DC=com
changetype: modify
replace: defaultDisplayName
defaultDisplayName: %, %%

For bulk changes, use VBScript (native to Server 2003):

Const ADS_PROPERTY_UPDATE = 2 
Set objUser = GetObject("LDAP://cn=John Doe,ou=Users,dc=domain,dc=com")
objUser.Put "displayName", objUser.Get("sn") & ", " & objUser.Get("givenName")
objUser.SetInfo

After implementation:

  • Update all directory synchronization services
  • Modify GAL sorting attributes if needed
  • Test Exchange address book display
  • Verify third-party application compatibility

For newer AD versions, consider:

# PowerShell 5.1+ example
Get-ADUser -Filter * | ForEach-Object {
    Set-ADUser $_ -DisplayName "$($_.Surname), $($_.GivenName)"
}

When creating new user accounts in Active Directory (particularly on Server 2003), the system automatically generates the "Full Name" attribute in "First Last" format. This behavior is hardcoded in the AD user creation interface and cannot be modified through standard GUI settings.

While you can't change the default generation behavior in Server 2003's native tools, here are practical approaches to achieve "Last, First" formatting:

Option 1: Using LDIFDE for Bulk Modification

Create an LDIF file to modify existing users:

dn: CN=John Doe,OU=Users,DC=domain,DC=com
changetype: modify
replace: displayName
displayName: Doe, John

Run the command:

ldifde -i -f modify_names.ldf

Option 2: PowerShell Script (For Later OS Versions)

While Server 2003 doesn't support PowerShell AD modules natively, here's a concept for reference:

Get-ADUser -Filter * | ForEach-Object {
    $newName = $_.Surname + ", " + $_.GivenName
    Set-ADUser $_ -DisplayName $newName
}

Option 3: VBScript for Server 2003

Const ADS_PROPERTY_UPDATE = 2 

Set objOU = GetObject("LDAP://OU=Users,DC=domain,DC=com")
objOU.Filter = Array("user")

For Each objUser in objOU
    strDisplayName = objUser.sn & ", " & objUser.givenName
    objUser.Put "displayName", strDisplayName
    objUser.SetInfo
Next

Important distinction between attributes:

  • displayName: The visible name in most interfaces
  • name (RDN): The actual directory object name (cannot contain commas)
  • cn: Canonical name (often matches name)

For new user creation in Server 2003, you'll need to:

  1. Let AD create the account with default naming
  2. Immediately modify the displayName attribute
  3. Consider creating a custom account creation tool for your admins