NET.EXE commande /ADD ne prend pas en charge les noms de plus de 20 caractères

Cet article fournit une solution à une erreur qui se produit lorsque vous utilisez la commande avec des NET.EXE /ADD noms d’utilisateur ou de groupe de plus de 20 caractères.

Produits concernés : Windows 10 (toutes les éditions), Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Numéro de la base de connaissances d’origine : 324639

Symptômes

Lorsque vous utilisez la NET.EXE commande avec le commutateur et les /ADD noms d’utilisateur ou de groupe longs, cela réaffiche uniquement la syntaxe NET. Vous ne recevez aucun message d’erreur.

Exemple :

C:\>NET.EXE localgroup MyRemoteUsers "REMOTE INTERACTIVE LOGON" /ADD

The syntax of this command is:

NET LOCALGROUP [groupname [/COMMENT:"text"]] [/DOMAIN]
groupname {/ADD [/COMMENT:"text"] | /DELETE} [/DOMAIN]
groupname name [...] {/ADD | /DELETE} [/DOMAIN]

La même action fonctionne avec la console MMC (Gestion de l’ordinateur) de l’interface utilisateur graphique, des utilisateurs locaux et des groupes.

Cause

La commande NET.EXE ne prend pas en charge les noms de plus de 20 caractères pour des raisons de compatibilité descendante avec LAN Manager 2.0.

Résolution

Si la méthode d’interface utilisateur graphique (GUI) ne peut pas être utilisée et qu’une méthode de script est requise, utilisez l’utilitaire Kit de ressources Windows 2000 Cusrmgr.exe. Vous pouvez également utiliser VBScript à l’aide d’une interface de programmation d’application (API) qui prend en charge les noms de plus de 20 caractères.

État

Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « Produits concernés ».

Plus d’informations

Dans l’exemple de la section « Symptômes » de cet article, utilisez la syntaxe Cusrmgr.exe suivante :

C:\>CUSRMGR.EXE -u "REMOTE INTERACTIVE LOGON" -alg "MyRemoteUsers"

Ce problème peut également se produire avec les versions localisées dans lesquelles les groupes intégrés dépassent la limite de 20 noms de caractères. Par exemple, avec le nom allemand pour « Utilisateurs authentifiés » (19 caractères) : « Authentifizierte Benutzer » (25 caractères).

L’exemple VBScript suivant peut être adapté et utilisé comme solution de contournement supplémentaire. Il ajoute « Utilisateurs authentifiés » à « Utilisateurs avec pouvoir » pour la version anglaise et allemande :

##### VBScript ADDGRP.VBS #####

On Error Resume Next  

Dim oContainer  
Dim oGroup  
Dim oIADs  

Dim oComputerInformation  
Dim bolGroupSet  
bolGroupSet = False  

Set oComputerInformation = CreateObject("WScript.Network")  

Set oContainer = GetObject("WinNT://" +  
oComputerInformation.ComputerName)'get the IADsContainer object for the local computer  

oContainer.Filter = Array("Group")'We only need to enumerate groups,
therefore the filter  
For Each oIADs In oContainer 'for each IADs object we find there  
If oIADs.Name = "Hauptbenutzer" Or oIADs.Name = "Power Users" Then  
'check if it has the name "Power Users" or "Hauptbenutzer"  

Set oGroup = oIADs 'If so put it into the IADsGroup object  
oGroup.Add ("WinNT://S-1-5-11")'add the group "Authenticated Users"  
oGroup.SetInfo 'and save the info  

If Err <> 0 Then 'if error number is not 0 (Error occurred)  
MsgBox Err.Number, vbCritical, "AddGroup" 'print out the error message  
Else 'if everything seems to be ok  
bolGroupSet = True 'set the boolean value to True so we know the group was added  
End If  

End If  
Next  

If bolGroupSet = True Then 'if bolGroupSet is False there was nothing done  
MsgBox "Group added successfully", vbInformation, "AddGroup"  
Else  
MsgBox "No action has taken place!", vbExclamation, "AddGroup"  
End If  
##### script end #####

Solution de contournement

Pour contourner ce problème dans Windows Server 2008 et versions ultérieures, utilisez la commande PowerShell Add-ADGroupMember , comme décrit dans l’article TechNet suivant :
Add-ADGroupMember

Si vous utilisez PowerShell 5.1, utilisez la commande PowerShell Add-LocalGroupMember -Group , comme décrit dans l’article suivant :
Add-LocalGroupMember