!!! samAccountName The [samAccountName is defined in MSDN.|http://msdn.microsoft.com/en-us/library/ms679635%28v=vs.85%29.aspx|target='_blank'] !! [LDAP] [Attribute] Definition The [{$pagename}] [AttributeTypes] is defined as: * [OID] of [1.2.840.113556.1.4.221] * [NAME|Attribute-Name]: [{$pagename}] * DESC: User logon name (pre-Windows 2000) * [EQUALITY]: [] * [ORDERING]: [] * SYNTAX: [1.3.6.1.4.1.1466.115.121.1.15] * [SINGLE-VALUE] * Used as [MUST] in: ** [securityPrincipal] * Used [MAY] in: ** !! Interesting Aspects * [{$pagename}] attribute is a [SINGLE-VALUE] [attribute] that is the logon name used to support clients and servers from a previous version of Windows. * [{$pagename}] [MUST] be less than __20 characters__ - with clients and servers running earlier versions of the [Operating System], such as Windows NT 4.0, [Windows 95], [Windows 98], and LAN Manager * The schema reports the size for {$pagename}] as a upper-range of 256. * "pre-Windows 2000 logon name" is the label in [MMC Account Tab] * [{$pagename}] value must be a [Unique Identifier] among all security principal objects within a [AD DOMAIN].[7] * [{$pagename}] is a [Ambiguous Name Resolution] value !! Required? As far as we know, although the schema and MSDN states it is "required", [Windows Server 2003] and later will create [{$pagename}] for you if you don't specify it, but it is real ugly like: $9J2000-F2RTQRTA7C5F. [Windows Server 2000] [Microsoft Active Directory] does not create [{$pagename}], you must specify a value. !! Restricted Values There some value restrictions in regards to the characters but we can not find any "official" documentation to what the restrictions are. When you apply a bad value [{$pagename}] in [Windows Server 2003], you will receive an error: {{{ Error while executing LDIF - [LDAP: error code 80 - 00000523: SysErr: DSID-031A0FB6, problem 22 (Invalid argument), data javax.naming.NamingException: [LDAP: error code 80 - 00000523: SysErr: DSID-031A0FB6, problem 22 (Invalid argument), data 0 }}} We found a reference showing the following characters invalid in [{$pagename}]'s: ([Windows Server 2003]) {{{ " [ ] : ; | = + * ? < > / \ , }}} These appears to work: {{{ ! @ # $ % ^ & ~ ` }}} We have seen it written[1] that the following are valid: * [unicode] characters, but accented characters generate collisions. So you can provision jmüller today and if tomorrow you try to provision jmuller, you will get a collision. So better normalize your [{$pagename}]s. * The [{$pagename}] cannot end with . (period). * Blanks (space) are allowed. !! [RegEx] For Verification[2] We have used this and it appears to work: {{{ ^(?:(?:[^. \"\/\\\[\]\:\|\\+\=\;\?\*\<\>\,][^\"\/\\\[\]\:\|\\+\=\;\?\*\<\>\,]{0,62}[^. \"\/\\\[\]\:\|\\+\=\;\?\*\<\>\,])|[^.\"\/\\\[\]\:\|\\+\=\;\?\*\<\>\,])$ }}} This translates to: * __Not Starting__ with a period (.) or a space ( ). - This, by design, excludes strings consisting solely of all periods (.) or spaces ( ). * Between 1 and 64 characters (inclusive) long. * Not including any of these characters: {{{" [ ] : ; | = + * ? < > / \ ,}}} * Not ending in a period (.). * I realize the page says 63 characters, but my testing shows 64 to be valid ([Windows Server 2008]) yet schema page [1] says 256!!! Adding or Modifying [{$pagename}] Adding or modifying a user, from LDAP, with a [samAccountName] value that is the same value of an existing user entry will result in the following error: {{{ Error while executing LDIF - [LDAP: error code 68 - 00000524: UpdErr: DSID-031A0F4F, problem 6005 (ENTRY_EXISTS), data javax.naming.NameAlreadyBoundException: [LDAP: error code 68 - 00000524: UpdErr: DSID-031A0F4F, problem 6005 (ENTRY_EXISTS), data 0 }}} !! More Information There might be more information for this subject on one of the following: [{ReferringPagesPlugin before='*' after='\n' }] ---- * [#1] - [http://blogs.technet.com/b/juanand/archive/2009/05/12/things-to-consider-when-provisioning-to-ad-adam.aspx] 2012-08-31 * [#2] - [http://blog.vertigion.com/post/18028230414/active-directory-validate-group-samaccountname|http://blog.vertigion.com/post/18028230414/active-directory-validate-group-samaccountname|target='_blank'] - based on information retrieved 2013-08-19 * [#3] - [You cannot add a user name or an object name that only differs by a character with a diacritic mark|http://support.microsoft.com/kb/938447|target='_blank'] - based on information retrieved 2013-08-19 * [#4] - [You must type a valid Username for the user.|http://technet.microsoft.com/library/Cc975532|target='_blank'] - based on information retrieved 2013-08-19 * [#5] - [Object names|http://technet.microsoft.com/en-us/library/cc776019.aspx|target='_blank'] - based on information retrieved 2013-08-19 * [#6] - [Object names|http://support.microsoft.com/kb/909264|target='_blank'] - based on information retrieved 2013-08-19 * [#7] - [User Naming Attributes|https://msdn.microsoft.com/en-us/library/ms677605(v=vs.85).aspx|target='_blank']