0
我正在使用下面的VBscript將組類型的幾個組更改爲Security。執行objGroup.setinfo時出現錯誤「服務器不願意處理請求」。VBScript - 更改組類型
欣賞有人能幫助解決這個問題。
Dim strOU, strGroup, objOU, objGroup
Dim strFile, objFile, objFSO
Const ADS_GROUP_TYPE_SECURITY_ENABLED = &H80000000
Const ForReading = 1
Const ADS_NAME_INITTYPE_GC = 3
Const ADS_NAME_TYPE_NT4 = 3
Const ADS_NAME_TYPE_1779 = 1
Const ADS_GROUP_TYPE_UNIVERSAL = &H8
strFile = "c:\Temp\GroupNames.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFile, ForReading)
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")
Set objTrans = CreateObject("NameTranslate")
objTrans.Init ADS_NAME_INITTYPE_GC, ""
objTrans.Set ADS_NAME_TYPE_1779, strDNSDomain
strNetBIOSDomain = objTrans.Get(ADS_NAME_TYPE_NT4)
strNetBIOSDomain = Left(strNetBIOSDomain, _
Len(strNetBIOSDomain) - 1)
Do Until objFile.AtEndOfStream
strNTName = Trim(objFile.ReadLine)
If (strNTName <> "") Then
On Error Resume Next
objTrans.Set ADS_NAME_TYPE_NT4, strNetBIOSDomain & "\" & strNTName
End If
' Use Get method to retrieve Distinguished Name.
strUserDN = objTrans.Get(ADS_NAME_TYPE_1779)
wscript.echo strUSerDN
' Bind to user object in AD.
Set objGroup = GetObject("LDAP://servername
「& strUserDN)
objGroup.Put "groupType", ADS_GROUP_TYPE_SECURITY_ENABLED
objGroup.SetInfo
Loop
objFile.Close
我做了更改,位仍然recievig同樣的錯誤。我是VB腳本的新手,如果您可以提供代碼以將羣組類型更改爲「安全」我將不勝感激 – user3435047
[進一步的原因(http://social.technet.microsoft.com/Forums/scriptcenter/en-US/20db6486-9b92-4a42-8bea-1a0f8b803c72/vbscript-to-change-group-type?forum=ITCG)似乎是說你需要一起的類型和範圍。因此,而不是「ADS_GROUP_TYPE_SECURITY_ENABLED」您需要「ADS_GROUP_TYPE_GLOBAL_GROUP或ADS_GROUP_TYPE_SECURITY_ENABLED」。請注意,「或」實際上是需要在那裏的一部分,並不是說只能輸入一個或另一個。在鏈接中注意檢查組類型是否爲UNIVERSAL的邏輯;否則,它是LOCAL,不能更改爲GLOBAL,或者已經是GLOBAL。 – DarkMoon
謝謝,指定類型和範圍使其工作像魅力....我很高興...非常感謝! – user3435047