NET.EXE /ADD komutu 20 karakterden uzun adları desteklemez
Bu makalede, komutu 20 karakterden uzun kullanıcı veya grup adlarıyla kullandığınızda oluşan bir hataya NET.EXE /ADD
çözüm sağlanır.
Şunlar için geçerlidir: Windows 10 - tüm sürümler, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Özgün KB numarası: 324639
Belirtiler
Komutunu anahtar ve uzun kullanıcı veya grup adlarıyla /ADD
birlikte kullandığınızdaNET.EXE
, bu yalnızca NET söz dizimini yeniden gösterir. Hata iletisi almazsınız.
Örneğin:
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]
Aynı eylem GUI Bilgisayar Yönetimi, Yerel Kullanıcılar ve Gruplar Microsoft Yönetim Konsolu (MMC) ile de çalışır.
Neden
NET.EXE komutu, LAN Manager 2.0 ile geriye dönük uyumluluk nedeniyle 20 karakterden uzun adları desteklemez.
Çözüm
Grafik kullanıcı arabirimi (GUI) yöntemi kullanılamıyorsa ve betik oluşturma yöntemi gerekiyorsa, Windows 2000 Resource Kit yardımcı programını Cusrmgr.exe kullanın. 20 karakterden uzun adları destekleyen bir uygulama programlama arabirimi (API) kullanarak VBScript de kullanabilirsiniz.
Durum
Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Daha fazla bilgi
Bu makalenin "Belirtiler" bölümündeki örnekte aşağıdaki Cusrmgr.exe söz dizimini kullanın:
C:\>CUSRMGR.EXE -u "REMOTE INTERACTIVE LOGON" -alg "MyRemoteUsers"
Bu sorun, yerleşik grupların 20 karakterlik ad sınırını aştığı yerelleştirilmiş sürümlerde de oluşabilir. Örneğin, Almanca adı "Kimliği Doğrulanmış Kullanıcılar" (19 karakter): "Authentifizierte Benutzer" (25 karakter).
Aşağıdaki örnek VBScript uyarlanabilir ve ek bir geçici çözüm olarak kullanılabilir. İngilizce ve Almanca sürümü için "Power Users"a "Kimliği Doğrulanmış Kullanıcılar" ekler:
##### 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 #####
Geçici Çözüm
Windows Server 2008 ve sonraki sürümlerde bu sorunu geçici olarak çözmek için, aşağıdaki TechNet makalesinde açıklandığı gibi Add-ADGroupMember PowerShell komutunu kullanın:
Add-ADGroupMember
PowerShell 5.1 kullanıyorsanız, aşağıdaki makalede açıklandığı gibi Add-LocalGroupMember -Group PowerShell komutunu kullanın:
Add-LocalGroupMember
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin