You want to modify how the default display name gets generated when you create a new user through the Active Directory Users and Computers snap-in.
Open ADSI Edit.
In the Configuration Naming Context browse to DisplaySpecifiers <Locale> where <Locale> is the locale for your language (e.g., the US English locale is 409).
Double-click on cn=user-Display.
Edit the createDialog attribute with the value you want the new default to be (e.g., %<sn>, %<givenName>).
' This code modifies the default ADUC display name. ' ------ SCRIPT CONFIGURATION ------ strNewDefault = "%<sn>, %<givenName>" strForestName = "<ForestDNSName>" ' e.g. rallencorp.com ' ------ END CONFIGURATION --------- Set objRootDSE = GetObject("LDAP://" & strForestName & "/RootDSE") Set objDispSpec = GetObject("LDAP://cn=User-Display,cn=409," & _ "cn=DisplaySpecifiers," & _ objRootDSE.Get("ConfigurationNamingContext")) objDispSpec.Put "createDialog", strNewDefault objDispSpec.SetInfo WScript.Echo "New default for user's display name has been set to: " & _ strNewDefault
When you create a new user object in the Active Directory Users and Computers snap-in, it will automatically fill in the Full Name field as you type in the First Name, Initials, and Last Name fields. As a convenience, you may want to alter that behavior so that it automatically fills in a different value. To do that, you need to modify the User-Display display specifier, which has the following distinguished name:
<Locale> should be replaced with your language specific locale and <ForestRootDN> should contain the distinguished name for your forest root domain. You need to modify the createDialog attribute, which by default has no value. Replacement variables are presented by %<attribute>, where attribute is an attribute name. For example, if you wanted to make the default be "LastName, FirstName" you would use the following value:
MS KB 250455 (XADM: How to Change Display Names of Active Directory Users)