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

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

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

Новый участник


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

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


Ребят есть код, в него нужно добавить кусок который бы добавлял пользователя в переменную группу AD. Ищу сам тоже, но как всегда нужно быстро, может кто раньше меня найдет. Буду очень признателен, спасибо.

Код: Выделить весь код
<JOB id="ADNewUser">
                <script language="JScript">

                               var sLastName, sFirstName, sMiddleName, sComment, sLogin, sPassword, sDomain;
                               var oADUsers, oItem, oEnum, bIsExist, i;


                               // Сверяем аргументы запуска скрипта. Если кол-во аргументов меньше 7, то выводим помошь
                               if((WScript.Arguments.length < 7) || ((WScript.Arguments.length == 1) && (WScript.Arguments(0) == "/?")))
                               {
                                               printHelp();
                               }
                               else
                               {
                                               // Фамилия нового пользователя
                                               sLastName = WScript.Arguments(0);

                                               // Имя нового пользователя
                                               sFirstName = WScript.Arguments(1);

                                               // Первая буква отчества нового пользователя
                                               sMiddleName = WScript.Arguments(2);

                                               // Коментарий. Подразделение нового пользователя
                                               sComment = WScript.Arguments(3);

                                               // Логин нового пользователя
                                               sLogin = WScript.Arguments(4);

                                               // Пароль нового пользователя
                                               sPassword = WScript.Arguments(5);

                                               // Домен нового пользователя
                                               sDomain = WScript.Arguments(6);

                                               // Если данные нового пользователя корректны, и он не зарегистрирован в домене, то запускается процесс создания пользователя
                                               if(checkUserInfo())
                                               {
                                                               if(sDomain == "domain.ru")
                                                               {
                                                                              oADUsers = GetObject("LDAP://OU=AutoCreation,DC=domain,,DC=ru");
                                                               }
                                                               else
                                                               {
                                                                              oADUsers = GetObject("LDAP://OU=AutoCreation,DC=ctx,DC=domain,DC=ru");
                                                               }
                                                               oEnum = new Enumerator(oADUsers);
                                                               if(!isUserExist())
                                                               {
                                                                              // Создаём пользователя
                                                                              createUser();
                                                               }
                                               }
                               }

                               WScript.Quit();



                               // Вывод помощи
                               function printHelp()
                               {
                                               WScript.Echo("СИНТАКСИС:\n");
                                               WScript.Echo("C:\\cscript ADNewUser.wsf Фамилия Имя Отчество комментарий логин пароль домен\n\n");
                                               WScript.Echo("Домен:\n");
                                               WScript.Echo("1 - domain.ru\n");
                                               WScript.Echo("2 - ctx.domain.ru\n\n");
                                               WScript.Echo("ПРИМЕР:\n");
                                               WScript.Echo("C:\\cscript ADNewUser.wsf \"Иванов\" \"Иван\" \"И\" \"УРП\" \"newuser\" \"q1239\" \"1\"\n\n");
                               }


                               // Проверка корректности данных пользователя
                               function checkUserInfo()
                               {
                                               bIsOk = false;
                                               if((sLastName != null) && (sFirstName != null) && (sMiddleName != null) && (sComment != null) && (sLogin != null) && (sPassword != null) && (sDomain != null))
                                               {
                                                               if((sLastName.length >= 2) && (sFirstName.length >= 2) && (sMiddleName.length == 1) && ((sComment.length >= 2) && (sComment.length <= 1000)) && (sLogin.length >= 3) && (sPassword.length >= 4) )
                                                               {
                                                                              bIsOk = true;
                                                               }
                                                               else
                                                               {
                                                                              WScript.Echo("Неверная информация о пользователе!\n\n");
                                                                              printHelp();
                                                               }
                                               }
                                               else
                                               {
                                                               WScript.Echo("Неполная информация о пользователе!\n\n");
                                                               printHelp();
                                               }
                                               return bIsOk;
                               }


                               // Проверка на наличие пользователя в домене
                               function isUserExist()
                               {
                                               bIsExist = false;
                                               while(!oEnum.atEnd())
                                               {
                                                               oItem = oEnum.item();
                                                               if(oItem.SamAccountName.toUpperCase() == sLogin.toUpperCase())
                                                               {
                                                                              bIsExist = true;
                                                                              WScript.Echo("Пользователь \"" + oItem.SamAccountName + "\" уже зарегистрирован в домене!\n\n");
                                                                              break;
                                                               }
                                                               oEnum.moveNext();
                                               }
                                               return bIsExist;
                               }


                               // Создание нового пользователя
                               function createUser()
                               {
                                               var oNewUser = oADUsers.Create("user", "cn=" + sFirstName + " " + sMiddleName + ". " + sLastName);

                                               // Записываем атрибуты нового пользователя
                                               oNewUser.Put("samAccountName", sLogin);
                                               if(sDomain == "domain.ru")
                                               {
                                                               oNewUser.Put("userPrincipalName", sLogin + "@domain.ru");
                                               }
                                               else
                                               {
                                                               oNewUser.Put("userPrincipalName", sLogin + "@ctx.domain.ru");
                                               }
                                               oNewUser.Put("initials", sMiddleName + ".");
                                               oNewUser.Put("givenName", sFirstName);
                                               oNewUser.Put("sn", sLastName);
                                               oNewUser.Put("displayName", sFirstName + " " + sMiddleName + ". " + sLastName);
                                               oNewUser.Put("description", sComment);
                                               oNewUser.setInfo();

                                               // Записываем спец. атрибуты нового пользователя (0x00000002 - включить пользователя, 0x00010000 - пароль пользователя не ограничен по сроку действия)
                                               var sVars = oNewUser.Get("userAccountControl");
                                               sVars = sVars ^= 0x00000002;
                                               sVars = sVars ^= 0x00010000;
                                               oNewUser.Put("userAccountControl", sVars);
                                               oNewUser.setInfo();

                                               // Записываем пароль нового пользователя
                                               oNewUser.SetPassword(sPassword);
                                               oNewUser.setInfo();
                               }

                </SCRIPT>
</JOB>

Отправлено: 17:44, 20-10-2010

 


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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Добавление пользователей АД в определённую группу. exo Microsoft Windows NT/2000/2003 17 08-08-2012 21:14
Добавление доменной группы в группу локальных администраторов gadkin Microsoft Windows NT/2000/2003 18 12-10-2010 11:47
VBS/WSH/JS - [решено] Добавление учетки в группу Администратор Lesta Скриптовые языки администрирования Windows 1 15-06-2009 12:01
Создание пользователя в АД+авто добавление его в группу loger11 Microsoft Windows NT/2000/2003 5 19-04-2007 05:21
Скрипт для проверки пользователя ($) Mike-os Вебмастеру 7 25-11-2005 18:27




 
Переход