Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Добавление пользователя в доменную группу в процессе создания учетной записи.

Ответить
Настройки темы
VBS/WSH/JS - Добавление пользователя в доменную группу в процессе создания учетной записи.

Пользователь


Сообщения: 63
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изменения
Автор: smol84
Дата: 03-09-2014
Всем здравствуйте!
Есть скрипт который создает учетную запись пользователя...

'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
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Script Create a User Account and Add it to a Group and an OU
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:46, 03-09-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 63
Благодарности: 2

Профиль | Отправить PM | Цитировать


Таким образом можно добавить,но как это совместить с существующим скриптом,приведенным мною... к сожалению опыта не хватает это сделать.

Отправлено: 14:12, 17-09-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Что именно не получается? «Существующий скрипт» Вы как-то же написали?!

Отправлено: 15:23, 17-09-2014 | #4


Пользователь


Сообщения: 63
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Iska:
ипт» Вы как-то же написали?! »
я его отредакртировал под свои нужды, за основу был взят существующий

Отправлено: 15:52, 17-09-2014 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Ну, и?
Цитата Iska:
Что именно не получается? »

Отправлено: 16:40, 17-09-2014 | #6


Пользователь


Сообщения: 63
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg error.JPG
(24.8 Kb, 9 просмотров)

Вообщем решил я сначала тестировать данный скрипт в своем тестовом домене,для того что бы объединить части кода в один,а так же для простоты выявления ошибки

Сократил его для понятности

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
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата smol84:
Вообщем выдается вот такая ошибка »
Option Explicit - Поиск в Google

Отправлено: 17:52, 18-09-2014 | #8


Пользователь


Сообщения: 63
Благодарности: 2

Профиль | Отправить 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
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата smol84:
error1.JPG »
Выложите Ваш код, обрамив его тэгом [code], дабы было понятно, какая строка у Вас является двадцать шестой по счёту.

Отправлено: 21:19, 18-09-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Добавление пользователя в доменную группу в процессе создания учетной записи.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход