|
Компьютерный форум OSzone.net » Серверные продукты Microsoft » Microsoft Windows NT/2000/2003 » Создание пользователей скриптом из Excel |
|
Создание пользователей скриптом из Excel
|
Пользователь Сообщения: 94 |
Профиль | Отправить PM | Цитировать Собираюсь создать очень много пользователей через Excel. Предварительно забив их туда (в ексель). Забивать буду:
- Фамилия (1 столбец); - Имя (2 столбец); - Отчество (3 столбец); - Имя входа в домен - тобишь пользователь (4 столбец); - Пароль (5 столбец); - OU (6 столбец); Как в екселе сделать, чтобы 4 столбец формировался автоматом, т.е. если 1,2,3: Сидоров Антон Борисович, то 4 будет состоять из полной фамилии + инициалы - СидоровАБ P.S. может у кого-нибудь есть и скрипт для добавления в AD пользователей из Excel. Буду очень благодарен. |
|
Отправлено: 19:09, 25-08-2006 |
Ветеран Сообщения: 688
|
Профиль | Отправить PM | Цитировать а поиск?
fix! Импорт/экспорт пользователей Active Directory ЗЫ. только формат сего файла есть штука не совсем произвольная.. Впрочем, чем труднее задача - тем интереснее решение |
------- Отправлено: 20:22, 25-08-2006 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать За скрипт спасиба, а как на счет 4 столбца, как в Экселе это сделать чтобы имя пользователя формировалось из фамилии и первых букв имени и отчества
|
Отправлено: 20:30, 25-08-2006 | #3 |
Ветеран Сообщения: 688
|
Профиль | Отправить PM | Цитировать вряд ли данный вопрос отностится к компетенции раздела Windows2003
и гораздо эффективнее, в плане его разрешения, было бы вопрошать в разлеле програмирования ибо, ИМХО, без помощи VB эту дилему не разрешить ЗЫ. поправьте если ошибаюсь |
------- Отправлено: 22:31, 25-08-2006 | #4 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать Вот написал скрипт на основе примеров. Сделал с подробными комментариями. Вроде правильно? Пока не стал проверять на серваке, вдург косяк какой то
Вопрос - как можно добавить пользователю не в одну группу, а сразу несколько? '****************************************************************************************** Option Explicit 'директива - определение переменных в сценарии при помощи оператора Dim Dim intRow 'определение переменной строки Excel Dim objExcel, objWorkbook, objContainer, objOU, objUser 'определение указателей-переменных Dim strContainer, strOU, strSheet 'определение переменных Dim strSam, strCN, strFirst, strLast, strPWD, strGrp 'определение переменных атрибутов пользователя '****************************************************************************************** strSheet = "C:\Users.xls" 'переменная, хранящая путь к файлу пользователей '****************************************************************************************** Set objExcel = CreateObject("Excel.Application") 'создание объекта Excel Set objWorkbook = objExcel.Workbooks.Open(strSheet) 'открытие файла пользователей '****************************************************************************************** intRow = 3 'задание начальной строки Excel для считывания данных пользователя Do Until objExcel.Cells(intRow,1).Value = "" 'начало цикла обработки строк Excel strSam = Trim(objExcel.Cells(intRow,1).Value) 'получение SAM пользователя strCN = Trim(objExcel.Cells(intRow,2).Value) 'получение общего имени пользователя strFirst = Trim(objExcel.Cells(intRow,3).Value) 'получение имени пользователя strLast = Trim(objExcel.Cells(intRow,4).Value) 'получение фамилии пользователя strOU = Trim(objExcel.Cells(intRow,5).Value) 'получение OU пользователя strPWD = Trim(objExcel.Cells(intRow,6).Value) 'получение пароля пользователя strGrp = Trim(objExcel.Cells(intRow,7).Value) 'получение группы пользователя '********************************************************************************* Set objContainer = GetObject("LDAP://ou=" & strOU & ",dc=school,dc=local") 'привязка с объектом OU Set objUser = objContainer.Create("User", "cn=" & strCN) 'создание учетной записи CN objUser.sAMAccountName = strSam 'присвоение SAM пользователю objUser.givenName = strFirst 'присвоение имени пользователя objUser.sn = strLast 'присвоение фамилии пользователя objUser.UserAccountControl = 512 'параметр учетной записи Normal_Account objUser.pwdLastSet = 0 'не требовать смены пароля при следующем входе objUser.SetInfo 'записываем новый объект (пользователя) в каталог objUser.memberOf = ("CN=" & strGrp & ",OU=" & strOU & ",dc=school,dc=local") objUser.SetPassword strPWD 'установка пароля пользователю 'objUser.SetInfo 'записываем новый объект (пользователя) в каталог '********************************************************************************* intRow = intRow + 1 'переход на следующую строку Excel Loop 'конец цикла обработки строк Excel '****************************************************************************************** objExcel.Quit 'закрытие Excel WScript.Quit 'завершение выполнение скрипта В конце кажого цикла увеличиваем значение номера текущей строки (intRow = intRow +1). Оператор Trim() отсекает лишнии пробелы слева/справа в считанной ячейке. P.S. и как всетаки в экселе сформировать SAM-имя на основе фамилии и инициалов?: |
|
Последний раз редактировалось mikechaik, 26-08-2006 в 13:58. Отправлено: 09:45, 26-08-2006 | #5 |
Новый участник Сообщения: 24
|
Профиль | Отправить PM | Цитировать используем текстовые функции Exell, примерно так :
=CONCATENATE(A1;LEFT(B1;1);LEFT(C1;1)) |
Отправлено: 10:23, 26-08-2006 | #6 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать Вроде разобрался с формулами. Вопрос по ходу работы возник - скрипт будет считывать из ячейки формулу или ее значение? Если формулу, то как сделать чтобы брал значение. Можно наверно скопировать и вставить через специальную вставку - вставить значение. Но так потеряем функцию Не хотелось бы
У меня стиль сылок R1C1 (Параметры -> Общие), т.е. столбцы в екселе обзываются не буквами А, B... а цифрами. Есть формула =R3C1&" "&R3C2&" "&ПСТР(R3C3;1;1)&"." Пытаюсь ее как раньше потянуть вниз чтобы формула распросранилась на нижележащии ячейки, но копируется формула как есть. А мне надо, чтобы значения строк менялись в зависимости от номера строки, т.е. R. Все разобрался. Оказывается стиль сылок R1C1 по умолчанию имеет абсолютный путь, относительный нужно использовать в квадратных скобках |
Последний раз редактировалось mikechaik, 27-08-2006 в 20:14. Отправлено: 19:12, 27-08-2006 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - Создание папки домашней пользователя логон-скриптом. Есть вопрос. | AlexStud | Скриптовые языки администрирования Windows | 1 | 20-03-2009 16:38 | |
Проблема с скриптом входа пользователей в систему | Dmitriy_Demon | Microsoft Windows NT/2000/2003 | 2 | 12-01-2008 13:26 | |
excel | создание списков | BRAT2 | Хочу все знать | 2 | 02-02-2006 11:33 | |
Создание отчетов в Excel | vunder | Программирование и базы данных | 2 | 10-01-2005 16:21 | |
VBA - Создание файлов *.xls из VBA Excel.я | Bob7 | Программирование и базы данных | 1 | 06-07-2004 14:17 |
|