Windows Server 2008/R2: Изменить максимальную длину имени пользователя?

Windows Server 2008/R2: Изменить максимальную длину имени пользователя?

Можно ли как-то изменить стандартное ограничение максимальной длины имени пользователя в 20 символов для локальных учетных записей?

(Если быть точным, Server 2008 R2)

решение1

Нет, он фиксирован на 20. Я думаю, это сделано для обратной совместимости. Вы можете увеличить его в Active Directory (за исключением поля SAMAccountName), но не локально.

решение2

Вы, должно быть, имеете в виду атрибут sam-accountname. Имена входа должны следоватьэти правила:

Правила для имен входа

Имена входа должны соответствовать следующим правилам:

Локальные имена входа должны быть уникальными на рабочей станции, а глобальные имена входа должны быть уникальными во всем домене.

Длина имени входа может составлять до 104 символов. Однако нецелесообразно использовать имена входа длиной более 64 символов.

Всем учетным записям присваивается имя входа Microsoft Windows NT версии 4.0 или более ранней, которое по умолчанию устанавливается равным первым 20 символам имени входа Windows 2000. Имя входа Windows NT версии 4.0 или более ранней должно быть уникальным в пределах домена.

Пользователи, входящие в домен с компьютеров под управлением Windows 2000, могут использовать свое имя входа в Windows 2000 или имя входа в Windows NT версии 4.0 или более ранней версии, независимо от режима работы домена.

Обратите внимание, что графический интерфейс позволяет создать только 20 имен символов, чтобы превысить это число, вам придется создавать их программно.

решение3

«Обратите внимание, что графический интерфейс позволяет вам создать только 20 имен символов, чтобы получить больше 20, вам придется создавать их программно».

Я бы сказал, что это утверждение неверно. Я не могу программно создавать имена пользователей длиннее двадцати символов. Ниже приведен соответствующий код VB.NET, который я запустил на Windows Server 2008 R2. Он работает для создания имен пользователей длиной двадцать или менее символов, но выдает исключение, если имя пользователя превышает двадцать символов. Попробуйте сами. С уважением, Джозеф Даволи

Код:

Imports System.DirectoryServices    'Gives us access to Directory Services.

Function Blah() As Whatever

Dim strFNMILN As String = "Christopher.B.Robinson" 'NOTE: Twenty-two characters. Dim strFullName as string = "Christopher B. Robinson"

'Declare a new "DirectoryEntry" object variable and assign to it the entry for 'this computer (the computer on which this code is running). Dim DirectoryEntryThisComputer As New DirectoryEntry("WinNT://" & Environment.MachineName & ",computer")

'Declare a new "DirectoryEntry" object variable and name it "DirectoryEntryNewUser". 'Create a new user in the local directory and assign that user to our object variable. Dim DirectoryEntryNewUser As DirectoryEntry = DirectoryEntryThisComputer.Children.Add(strFNMILN, "user")

'Add the fullname of this user. DirectoryEntryNewUser.Invoke("Put", New Object() {"fullname", strFullName })

'Add a description value. DirectoryEntryNewUser.Invoke("Put", New Object() {"description", "This is a test user."})

'Set the password for this new user (14 character minimum). DirectoryEntryNewUser.Invoke("SetPassword", New Object() {"abcdefg1234567"})

'Save this new user to the local directory (this machine's directory). DirectoryEntryNewUser.CommitChanges()

. . End Function

решение4

Я использую DSADD для сервера W2K3 AD, но он не работает из-за длины «SAMID» в 21 (двадцать один) символ.

C:\Users\admin-of-change>DSAdd.exe user "CN=SharePoint Service Applications XYZ,OU=Users,OU=District UVW,OU=XYZ,DC=domain-universe,DC=int,DC=net" -samid "adm_xyz_SPServiceApps" -upn [email protected] -fn "SharePoint Service Applications" -ln "XYZ" -display "SharePoint Service Applications XYZ" -pwd "continue2013" -desc "Non Human Account" -office "Head Office" -email [email protected] -webpg "www.UnusualCompany.com" -title "SharePoint Service Applications XYZ" -company "X Y Z" -disabled no
dsadd failed:CN=SharePoint Service Applications XYZ,OU=Users,OU=District UVW,OU=XYZ,DC=domain-universe,DC=int,DC=net:The name provided is not a properly formed account name.
type dsadd /? for help.

┌─────────────────────────────────────┐
│ Executed Tue 07/02/2013 13:59:57.88 │ As [admin-of-change]
└─────────────────────────────────────┘

Это решается путем уменьшения UPN.

C:\Users\admin-of-change>DSAdd.exe user "CN=SharePoint Service Applications XYZ,OU=Users,OU=District UVW,OU=XYZ,DC=domain-universe,DC=int,DC=net" -samid "adm_xyz_SPSvcApps" -upn [email protected] -fn "SharePoint Service Applications" -ln "XYZ" -display "SharePoint Service Applications XYZ" -pwd "continue2013" -desc "Non Human Account" -office "Head Office" -email [email protected] -webpg "www.UnusualCompany.com" -title "SharePoint Service Applications XYZ" -company "X Y Z" -disabled no
dsadd succeeded:CN=SharePoint Service Applications XYZ,OU=Users,OU=Users,OU=District UVW,OU=XYZ,DC=domain-universe,DC=int,DC=net

┌─────────────────────────────────────┐
│ Executed Tue 07/02/2013 14:06:21.08 │ As [admin-of-change]
└─────────────────────────────────────┘

Любые комментарии по улучшению приветствуются.

Связанный контент