Можно ли изменить стандартное ограничение максимальной длины имени пользователя в 20 символов для локальных учетных записей?
(Server 2008 R2, чтобы быть конкретным)
Можно ли изменить стандартное ограничение максимальной длины имени пользователя в 20 символов для локальных учетных записей?
(Server 2008 R2, чтобы быть конкретным)
Ответы:
Вы должны ссылаться на атрибут sam-accountname. Имена входа должны следовать этим правилам:
Правила для имен входа
Имена входа должны соответствовать следующим правилам:
Локальные имена входа должны быть уникальными на рабочей станции, а глобальные имена входа должны быть уникальными во всем домене.
Имена входа могут содержать до 104 символов. Однако нецелесообразно использовать имена входа, которые длиннее 64 символов.
Имя входа Microsoft Windows NT версии 4.0 или более ранней предоставляется всем учетным записям, для которых по умолчанию заданы первые 20 символов имени входа в Windows 2000. Имя входа Windows NT версии 4.0 или более ранней должно быть уникальным для всего домена.
Пользователи, входящие в домен с компьютеров Windows 2000, могут использовать свое имя входа в Windows 2000 или свое имя входа в Windows NT версии 4.0 или более раннюю, независимо от режима работы домена.
Обратите внимание, что GUI позволяет вам создавать только 20 имен символов, вам нужно создавать их программно, чтобы получить более 20 символов.
«Обратите внимание, что GUI позволяет вам создавать только 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
Я использую DSADD в W2K3 AD Server, он не работает из-за 21 (двадцати одного) символа длиной "SAMID".
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 adm_xyz_SPServiceApps@domain-universe.int.net -fn "SharePoint Service Applications" -ln "XYZ" -display "SharePoint Service Applications XYZ" -pwd "continue2013" -desc "Non Human Account" -office "Head Office" -email adm_xyz_SPServiceApps@UnusualCompany.com -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 adm_xyz_SPSvcApps@domain-universe.int.net -fn "SharePoint Service Applications" -ln "XYZ" -display "SharePoint Service Applications XYZ" -pwd "continue2013" -desc "Non Human Account" -office "Head Office" -email adm_xyz_SPSvcApps@UnusualCompany.com -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]
└─────────────────────────────────────┘
Любые комментарии по улучшению приветствуются.