|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Добавление пользователя в доменную группу в процессе создания учетной записи. |
|
|
VBS/WSH/JS - Добавление пользователя в доменную группу в процессе создания учетной записи.
|
Пользователь Сообщения: 63 |
Всем здравствуйте!
Есть скрипт который создает учетную запись пользователя... '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 которые должны быть у пользователя по умолчанию...подскажите как можно добавить свежесозданную учетную запись в эти или к этим группам? |
|
Отправлено: 15:31, 03-09-2014 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:46, 03-09-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 63
|
Профиль | Отправить PM | Цитировать Таким образом можно добавить,но как это совместить с существующим скриптом,приведенным мною... к сожалению опыта не хватает это сделать.
|
Отправлено: 14:12, 17-09-2014 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Что именно не получается? «Существующий скрипт» Вы как-то же написали?!
|
Отправлено: 15:23, 17-09-2014 | #4 |
Пользователь Сообщения: 63
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
||
Отправлено: 15:52, 17-09-2014 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Ну, и?
Цитата Iska:
|
|
Отправлено: 16:40, 17-09-2014 | #6 |
Пользователь Сообщения: 63
|
Профиль | Отправить PM | Цитировать Вообщем решил я сначала тестировать данный скрипт в своем тестовом домене,для того что бы объединить части кода в один,а так же для простоты выявления ошибки
Сократил его для понятности 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 Заренее спасибо за ответ. |
Отправлено: 15:55, 18-09-2014 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата smol84:
|
|
Отправлено: 17:52, 18-09-2014 | #8 |
Пользователь Сообщения: 63
|
Профиль | Отправить PM | Цитировать error1.JPG
Чет переработал сегодня,надо завязывать но напоследок задайте мне направление мысли добавил часть кода 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 пробовал по разному но увы... |
Отправлено: 18:33, 18-09-2014 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:19, 18-09-2014 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - Добавление пользователя в группу AD | rastadmb | Скриптовые языки администрирования Windows | 13 | 29-10-2013 07:28 | |
2008 R2 - [решено] Добавление локального профиля в доменную группу | lxa85 | Windows Server 2008/2008 R2 | 3 | 20-02-2013 09:01 | |
AD Добавление пользователя в группу в терминале проблема | Arthes | Microsoft Windows NT/2000/2003 | 0 | 16-03-2011 16:38 | |
VBS/WSH/JS - Скрипт для добавление пользователя в группу AD | HuppeR | Скриптовые языки администрирования Windows | 0 | 20-10-2010 17:44 | |
Дата создания учетной записи | Igorek | Сетевые технологии | 2 | 31-03-2004 14:00 |
|