Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Скрипт для добавление пользователя в группу AD (http://forum.oszone.net/showthread.php?t=188885)

HuppeR 20-10-2010 17:44 1523305

Скрипт для добавление пользователя в группу AD
 
Ребят есть код, в него нужно добавить кусок который бы добавлял пользователя в переменную группу 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>



Время: 08:02.

Время: 08:02.
© OSzone.net 2001-