Тема: VBS: Длина атрибута в AD
Добрый день, есть скрипт, которых заполняет атрибуты пользователей в AD из экселя, например department
Это поле, согласно схеме имеет длину макс 128 символов и руками я изменял его до 128 символов.
Когда эту же операцию выполняет vbscript то, есть поле больше 64 символа, пишет ошибку (если меньше то всё ок) :
Error: А constant violation occurred
Code: 8007202F
Подскажите, как это исправить ?
Код такой:
strReadExcel = "to_AD.xlsx"
Dim strdepartment
Set fso = CreateObject("Scripting.FileSystemObject")
set WshShell = WScript.CreateObject("WScript.Shell")
Set objExcel = CreateObject("Excel.Application")
Set objSheet = objExcel.Workbooks.Open(fso.BuildPath(fso.GetParentFolderName(WScript.ScriptFullName), strReadExcel))
Set objSysInfo = CreateObject("ADSystemInfo")
Const ADS_NAME_INITTYPE_GC = 3
Const ADS_NAME_TYPE_NT4 = 3
Const ADS_NAME_TYPE_1779 = 1
intRow = 1
Do Until (objExcel.Cells(intRow,1).Value) = "" and (objExcel.Cells(intRow,2).Value) = "" and (objExcel.Cells(intRow,3).Value) = "" and (objExcel.Cells(intRow,4).Value) = ""
strSAMName = Trim(objExcel.Cells(intRow, 1).Value)
strdepartment = Trim(objExcel.Cells(intRow, 2).Value)
strName = "MEGAFON\"& strSAMName
Set objTrans = CreateObject("NameTranslate")
objTrans.Init ADS_NAME_INITTYPE_GC, ""
objTrans.Set ADS_NAME_TYPE_NT4, strName
strUserDN = objTrans.Get(ADS_NAME_TYPE_1779)
strUserDN = Replace(strUserDN, "/", "\/")
Set objUser = GetObject("LDAP://" & strUserDN)
objUser.Put "department", strdepartment
objUser.SetInfo
intRow = intRow + 1
Loop
objExcel.Quit
WScript.Echo "Готово"
wscript.quit 0
