Existe-t-il un moyen de modifier la restriction de longueur maximale standard de 20 caractères UserName pour les comptes locaux?
(Server 2008 R2 pour être spécifique)
Existe-t-il un moyen de modifier la restriction de longueur maximale standard de 20 caractères UserName pour les comptes locaux?
(Server 2008 R2 pour être spécifique)
Réponses:
Vous devez faire référence à l'attribut sam-accountname. Les noms de connexion doivent suivre ces règles:
Règles pour les noms de connexion
Les noms de connexion doivent suivre ces règles:
Les noms de connexion locaux doivent être uniques sur un poste de travail et les noms de connexion globaux doivent être uniques dans tout un domaine.
Les noms de connexion peuvent contenir jusqu'à 104 caractères. Cependant, il n'est pas pratique d'utiliser des noms d'ouverture de session de plus de 64 caractères.
Un nom d'ouverture de session Microsoft Windows NT version 4.0 ou antérieure est donné à tous les comptes, qui par défaut est défini sur les 20 premiers caractères du nom d'ouverture de session Windows 2000. Le nom d'ouverture de session Windows NT version 4.0 ou antérieure doit être unique dans tout un domaine.
Les utilisateurs qui se connectent au domaine à partir d'ordinateurs Windows 2000 peuvent utiliser leur nom d'ouverture de session Windows 2000 ou leur nom d'ouverture de session Windows NT version 4.0 ou antérieure, quel que soit le mode de fonctionnement du domaine.
Notez que l'interface graphique ne vous permet de créer que 20 noms de caractères, vous devrez les créer par programmation pour dépasser les 20.
"Notez que l'interface graphique ne vous permet de créer que 20 noms de caractères, vous devrez les créer par programmation pour en dépasser 20."
Je dirais que cette affirmation est incorrecte. Je ne peux pas créer par programmation des noms d'utilisateur de plus de vingt caractères. Ci-dessous se trouve le code VB.NET pertinent que j'ai exécuté sur Windows Server 2008 R2. Il fonctionne pour créer des noms d'utilisateur de vingt caractères ou moins, mais lève une exception si le nom d'utilisateur dépasse vingt caractères. Essayez-le vous-même. Cordialement, Joseph Davoli
Code:
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
J'utilise DSADD dans le serveur AD W2K3, il a échoué en raison de la longueur de 21 (vingt et un) caractères de "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]
└─────────────────────────────────────┘
Il est résolu en diminuant l'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]
└─────────────────────────────────────┘
Tous les commentaires d'amélioration sont les bienvenus.