![]() |
Добавление пользователя в доменную группу в процессе создания учетной записи.
Всем здравствуйте!
Есть скрипт который создает учетную запись пользователя... 'Option Explicit Dim sFirstName1, sFirstName2, sLastName, sFullName, sFirstNameFull, sLastNameLat, sFirstNameLat, sLogin, strUserName, dtStart sFirstName1 = InputBox("Введите Имя") sFirstName2 = InputBox("Введите Отчество") sLastName = InputBox("Введите Фамилию") sFullName = sLastName & " " & sFirstName1 & " " & sFirstName2 sFirstNameFull = sFirstName1 & " " & sFirstName2 sFirstNameLat = Rus2Lat(sFirstName1) sLastNameLat = Rus2Lat(sLastName) sLogin = sFirstNameLat & "." & sLastNameLat 'Проверка длины логина if Len(sLogin) > 20 Then sFirstNameLat = Mid(sFirstNameLat,1,1) sLogin = sFirstNameLat & "." & sLastNameLat End if strUserName = sLogin dtStart = TimeValue(Now()) Set objConnection = CreateObject("ADODB.Connection") objConnection.Open "Provider=ADsDSOObject;" Set objCommand = CreateObject("ADODB.Command") objCommand.ActiveConnection = objConnection objCommand.CommandText = _ "<LDAP://ou=users,dc=corp,dc=int>;(&(objectCategory=User)" & _ "(samAccountName=" & strUserName & "));samAccountName;subtree" Set objRecordSet = objCommand.Execute If objRecordset.RecordCount = 0 Then Set objOU = GetObject("LDAP://OU=Users,DC=corp,DC=int") Set objUser = objOU.Create _ ("User", "cn=" & sFullName) objUser.displayName = sFullName objUser.sAMAccountName = sLogin objUser.GivenName = sFirstName1 objUser.SN = sLastName objUser.SetInfo objUser.userPrincipalName = sLogin & "@corp.int" objUser.mail = sLogin & "@corp.int" objUser.AccountDisabled = FALSE objUser.SetPassword "xxx" objUser.Put "PwdLastSet", 0 objUser.SetInfo Else WScript.Echo "Учетная запись " & Chr(34) & sLogin & Chr(34) & " уже существует." WScript.Quit End If Wscript.Echo "Учетная запись создана успешно" Function Rus2Lat(strRus) Dim i Dim strTemp Dim strLat For i = 1 To Len(strRus) strTemp = Mid(strRus, i, 1) Select Case strTemp Case "а" strLat = strLat & "a" Case "А" strLat = strLat & "A" Case "б" strLat = strLat & "b" Case "Б" strLat = strLat & "B" Case "в" strLat = strLat & "v" Case "В" strLat = strLat & "V" Case "г" strLat = strLat & "g" Case "Г" strLat = strLat & "G" Case "д" strLat = strLat & "d" Case "Д" strLat = strLat & "D" Case "е" strLat = strLat & "e" Case "Е" strLat = strLat & "E" Case "ё" strLat = strLat & "e" Case "Ё" strLat = strLat & "E" Case "ж" strLat = strLat & "zh" Case "Ж" strLat = strLat & "Zh" Case "з" strLat = strLat & "z" Case "З" strLat = strLat & "Z" Case "и" strLat = strLat & "i" Case "И" strLat = strLat & "I" Case "й" strLat = strLat & "i" Case "Й" strLat = strLat & "I" Case "к" strLat = strLat & "k" Case "К" strLat = strLat & "K" Case "л" strLat = strLat & "l" Case "Л" strLat = strLat & "L" Case "м" strLat = strLat & "m" Case "М" strLat = strLat & "M" Case "н" strLat = strLat & "n" Case "Н" strLat = strLat & "N" Case "о" strLat = strLat & "o" Case "О" strLat = strLat & "O" Case "п" strLat = strLat & "p" Case "П" strLat = strLat & "P" Case "р" strLat = strLat & "r" Case "Р" strLat = strLat & "R" Case "с" strLat = strLat & "s" Case "С" strLat = strLat & "S" Case "т" strLat = strLat & "t" Case "Т" strLat = strLat & "T" Case "у" strLat = strLat & "u" Case "У" strLat = strLat & "U" Case "ф" strLat = strLat & "f" Case "Ф" strLat = strLat & "F" Case "х" strLat = strLat & "kh" Case "Х" strLat = strLat & "Kh" Case "ц" strLat = strLat & "tc" Case "Ц" strLat = strLat & "Tc" Case "ч" strLat = strLat & "ch" Case "Ч" strLat = strLat & "Ch" Case "ш" strLat = strLat & "sh" Case "Ш" strLat = strLat & "Sh" Case "щ" strLat = strLat & "shch" Case "Щ" strLat = strLat & "Shch" Case "ъ" strLat = strLat & "" Case "Ъ" strLat = strLat & "" Case "ы" strLat = strLat & "y" Case "Ы" strLat = strLat & "Y" Case "ь" strLat = strLat & "" Case "Ь" strLat = strLat & "" Case "э" strLat = strLat & "e" Case "Э" strLat = strLat & "E" Case "ю" strLat = strLat & "iu" Case "Ю" strLat = strLat & "Iu" Case "я" strLat = strLat & "ia" Case "Я" strLat = strLat & "Ia" Case Else 'unknown symbol strLat = strLat & strTemp End Select Next Rus2Lat = strLat End Function Есть ряд групп "cn=группа1,ou=Groups,dc=corp,dc=int "cn=группа2,ou=Groups,dc=corp,dc=int которые должны быть у пользователя по умолчанию...подскажите как можно добавить свежесозданную учетную запись в эти или к этим группам? |
|
Таким образом можно добавить,но как это совместить с существующим скриптом,приведенным мною... к сожалению опыта не хватает это сделать.
|
Что именно не получается? «Существующий скрипт» Вы как-то же написали?!
|
Цитата:
|
Ну, и?
Цитата:
|
Вложений: 1
Вообщем решил я сначала тестировать данный скрипт в своем тестовом домене,для того что бы объединить части кода в один,а так же для простоты выявления ошибки
Сократил его для понятности Option Explicit Dim sFirstName1, sFirstName2, sLastName, sFullName, sLogin sFirstName1 = "Ivan" sLastName = "Ivanov" sFullName = sLastName & "." & sFirstName1 sLogin = sLastName & " " & sFirstName1 Set objOU = GetObject("LDAP://OU=Users,OU=ViaMonstra,DC=corp,DC=viamonstra,DC=com") Set objUser = objOU.Create _ ("User", "cn=" & sFullName) objUser.displayName = sFullName objUser.sAMAccountName = sLogin objUser.GivenName = sFirstName1 objUser.SN = sLastName objUser.SetInfo objUser.userPrincipalName = sLogin & "@corp.viamonstra.com" objUser.AccountDisabled = FALSE objUser.SetPassword "123456Qw" objUser.Put "PwdLastSet", 0 objUser.SetInfo Вообщем выдается вот такая ошибка Файл 117133 Домен на windows 2012 R2 Заренее спасибо за ответ. |
Цитата:
|
Вложений: 1
Файл 117139
Чет переработал сегодня,надо завязывать но напоследок задайте мне направление мысли добавил часть кода Set objGroup = GetObject _ ("LDAP://cn=test1,OU=Groups,OU=ViaMonstra,DC=corp,DC=viamonstra,DC=com") objGroup.Put sLogin, test1 objGroup.SetInfo objGroup.Add objUser.ADSPath пробовал по разному но увы... |
|
Код:
Dim sFirstName1, sFirstName2, sLastName, sFullName, sLogin |
smol84, в Вашем коде двадцать три строки. Стало быть он отличается от того кода, который вызывал приведённую Вами ошибку на двадцать шестой строке.
|
в 22 строке теперь ошибка Unspecified error
это строка objGroup.Put sLogin, test1 |
Цитата:
|
Есть ряд групп
"cn=группа1,ou=Groups,dc=corp,dc=int "cn=группа2,ou=Groups,dc=corp,dc=int которые должны быть у пользователя по умолчанию...подскажите как можно добавить свежесозданную учетную запись в эти или к этим группам? |
В примере сие делалось строкой:
Код:
objGroup.Add objUser.ADSPath Код:
Set objIADsGroup = GetObject("LDAP://cn=группа1,ou=Groups,dc=corp,dc=int") Код:
objIADsGroup.Add objUser.ADSPath |
Спасибо!
|
Похожая ситуация. Выдает ошибку
![]() Код:
Option Explicit |
Проблему решил :)
|
Время: 02:40. |
Время: 02:40.
© OSzone.net 2001-