NET.EXE comando /ADD não dá suporte a nomes com mais de 20 caracteres
Este artigo fornece uma solução para um erro que ocorre quando você usa o NET.EXE /ADD
comando com nomes de usuário ou grupo com mais de 20 caracteres.
Aplica-se ao: Windows 10 - todas as edições, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Número de KB original: 324639
Sintomas
Quando você usa o NET.EXE
comando junto com a opção /ADD
e nomes de usuário ou grupo longos, isso apenas redimensiciona a sintaxe NET. Você não recebe nenhuma mensagem de erro.
Exemplo:
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]
A mesma ação funciona com o MMC (Gerenciamento de Computadores, Usuários Locais e Grupos) da Gui.
Motivo
O comando NET.EXE não dá suporte a nomes com mais de 20 caracteres por motivos de compatibilidade com o LAN Manager 2.0.
Resolução
Se o método GUI (interface do usuário gráfico) não puder ser usado e um método de script for necessário, use o utilitário kit de recursos do Windows 2000 Cusrmgr.exe. Ou use o VBScript, usando uma API (interface de programação de aplicativo) que dá suporte a nomes com mais de 20 caracteres.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Mais informações
No exemplo na seção "Sintomas" deste artigo, use a seguinte sintaxe Cusrmgr.exe:
C:\>CUSRMGR.EXE -u "REMOTE INTERACTIVE LOGON" -alg "MyRemoteUsers"
Esse problema também pode ocorrer com versões localizadas nas quais grupos internos excedem o limite de nome de 20 caracteres. Por exemplo, com o nome alemão para "Usuários Autenticados" (19 caracteres): "Authentifizierte Benutzer" (25 caracteres).
O VBScript de exemplo a seguir pode ser adaptado e usado como uma solução alternativa adicional. Ele adiciona "Usuários Autenticados" a "Usuários do Power" para a versão em inglês e alemão:
##### 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 #####
Solução alternativa
Para contornar esse problema no Windows Server 2008 e posterior, use o comando Add-ADGroupMember PowerShell, conforme descrito no seguinte artigo do TechNet:
Add-ADGroupMember
Se você estiver usando o PowerShell 5.1, use o comando Add-LocalGroupMember -Group PowerShell, conforme descrito no seguinte artigo:
Add-LocalGroupMember
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de