|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Выдает ошибку "Такой объект на сервере отсутствует(80072030)". 57 строка. |
|
|
VBS/WSH/JS - [решено] Выдает ошибку "Такой объект на сервере отсутствует(80072030)". 57 строка.
|
Новый участник Сообщения: 9 |
Set objArgs = WScript.Arguments if objArgs.Count = 0 then WScript.Echo "Добавляет пользователей в домен." WScript.Echo "create_users.vbs [имя файла]" WScript.Echo " user.txt[имя файла] — файл со списком пользователей" WScript.Echo " формат файла: Логин; Пароль; Имя-Отчество; Фамилия; Должность; Отдел; OU(Организация); Адрес папки профиля;" WScript.Quit end if path = objArgs(0) Set fso = CreateObject("Scripting.FileSystemObject") Set objFile = fso.OpenTextFile(path, 1) Do Until objFile.AtEndOfStream str = objFile.ReadLine for i = 1 to Len(str) step 1 strCh = Mid (str, i, 1) if strCh = ";" then select case Z case 0 UserName = strRez ' *** Логин case 1 UserPassword = strRez ' *** Пароль case 2 FirstName = strRez ' *** Имя-Отчество case 3 LastName = strRez ' *** Фамилия case 4 Title = strRez ' *** Должность case 5 Department = strRez ' *** Отдел case 6 Company = strRez ' *** (OU)Организация case 7 sScPath = strRez' *** Адрес папки профиля end select strRez = "" strCh = "" Z = Z + 1 else strRez = strRez + strCh end if next strRez = "" strCh = "" Z = 0 Set objRoot = GetObject("LDAP://RootDSE") Set objADSystemInfo = CreateObject("ADSystemInfo") DomainDNSName = objADSystemInfo.DomainDNSName DomainDN = objRoot.Get("DefaultNamingContext") ContainerDN = "ou=" & Company & "," & DomainDN pName = UserName & "@" & DomainDNSName '"@snb.local" '!!! ВАЖНО !!!***Указываем ЗАРАНЕЕ СОЗДАННУЮ OU в которую кидаются новые пользователи ******* Set objOU = GetObject("LDAP://" & ContainerDN) '*************************** Создаем аккаунт пользователя домена *********************** Set objUser = objOU.Create("User", "cn=" + UserName) ' **** Login ***** objUser.Put "sAMAccountName", UserName objUser.SetInfo ' ****** пароль ******* Set objUser = GetObject ("LDAP://cn=" + UserName + "," + ContainerDN) objUser.SetPassword UserPassword ' ******* UPN ********** objUser.Put "userPrincipalName", pName '****** выключение аккаунта ******* objUser.AccountDisabled = FALSE ' ******** Имя ********* objUser.Put "givenName", FirstName ' ***** Фамилия ********* objUser.Put "sn", LastName ' ***** Выводимое имя ****** objUser.Put "displayName", LastName & " " & FirstName ' Инициалы objUser.Put "initials", left(FirstName,1) & "." '& left(LastName,1) ' ***** Должность ****** objUser.Put "title", Title ' ***** Отдел ****** objUser.Put "department", Department ' Организация objUser.Put "Company", Company ' ***** Уст. Требовать смену пароля при следующем входе в систему *** objUser.Put "pwdLastSet", CLng(0) ' Адрес папки перемещаемого профиля пользователя objUser.Put "ProfilePath", sScPath objUser.SetInfo ' WScript.Echo "Пользователь — " + UserName + " добавлен в AD" Loop WScript.Echo "Пользователи добавлены в AD" objFile.Close manager4; 1qaz2WSX; Ivan Ivanovich; Ivanov; manager; management; ASOIU; \\WINSERVER\Profiles\manager4; security3; 1qaz2WSX; Petr Petrovich; Petrov; security; security; SIB; \\WINSERVER\Profiles\security3; |
|
Отправлено: 22:37, 05-03-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать alex19451, вопрос в чём?
|
Отправлено: 00:00, 06-03-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 00:24, 06-03-2015 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата alex19451:
Для начала Вам стоит избавиться от незначимых пробелов либо непосредственно в текстовом файле, либо убирать их при разборе текстового файла. |
|
Отправлено: 00:38, 06-03-2015 | #4 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
||
Отправлено: 10:03, 06-03-2015 | #5 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Set objOU = GetObject("LDAP://OU=SIB,ASOIU" & ContainerDN) ставил так. выводит ошибку 80005000
|
Отправлено: 11:57, 06-03-2015 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Попробуйте так: Скрытый текст
Option Explicit Dim strSourceFile Dim objFSO Dim arrContent Dim strLine Dim arrRecord Dim strDomainDNSName Dim strDomainDN Dim strContainerDN If WScript.Arguments.Count = 1 Then strSourceFile = WScript.Arguments.Item(0) Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") If objFSO.FileExists(strSourceFile) Then With objFSO.OpenTextFile(strSourceFile) arrContent = Split(.ReadAll(), vbCrLf) .Close End With strDomainDNSName = WScript.CreateObject("ADSystemInfo").DomainDNSName strDomainDN = GetObject("LDAP://RootDSE").Get("DefaultNamingContext") For Each strLine In arrContent arrRecord = Split(strLine, ";") If UBound(arrRecord) = 7 Then strContainerDN = "ou=" & arrRecord(6) & "," & strDomainDN '!!! ВАЖНО !!!***Указываем ЗАРАНЕЕ СОЗДАННУЮ OU в которую кидаются новые пользователи ******* ' Создаем аккаунт пользователя домена With GetObject("LDAP://" & strContainerDN).Create("User", "cn=" & arrRecord(0)) .Put "sAMAccountName", arrRecord(0) ' Login .SetInfo End With With GetObject("LDAP://cn=" & arrRecord(0) & "," & strContainerDN) .AccountDisabled = False ' Enable account .SetPassword arrRecord(1) ' пароль .Put "userPrincipalName", arrRecord(0) & "@" & strDomainDNSName ' UPN .Put "givenName", arrRecord(2) ' Имя .Put "sn", arrRecord(3) ' Фамилия .Put "displayName", arrRecord(3) & " " & arrRecord(2) ' Выводимое имя .Put "initials", _ Left(Split(arrRecord(2))(0), 1) & "." & _ Left(Split(arrRecord(2))(1), 1) & "." ' Инициалы .Put "title", arrRecord(4) ' Должность .Put "department", arrRecord(5) ' Отдел .Put "Company", arrRecord(6) ' Организация .Put "pwdLastSet", CLng(0) ' Уст. Требовать смену пароля при следующем входе в систему .Put "ProfilePath", arrRecord(7) ' Адрес папки перемещаемого профиля пользователя .SetInfo End With WScript.Echo "Пользователь — " & arrRecord(6) & " добавлен в AD" Else WScript.Echo "Line [" & strLine & "] has not 7 items." End If Next WScript.Echo "Пользователи добавлены в AD" Else WScript.Echo "Can't find source file [" & strSourceFile & "]." WScript.Quit 2 End If Set objFSO = Nothing Else WScript.Echo "Добавляет пользователей в домен." WScript.Echo "create_users.vbs [имя файла]" WScript.Echo " user.txt[имя файла] — файл со списком пользователей" WScript.Echo " формат файла: Логин; Пароль; Имя-Отчество; Фамилия; Должность; Отдел; OU(Организация); Адрес папки профиля" WScript.Quit 1 End If WScript.Quit 0 Содержимое исходного файла: Пробелы — значимые символы. В конце строки не надо ставить лишний разделитель «;». |
Последний раз редактировалось Iska, 06-03-2015 в 14:01. Отправлено: 13:49, 06-03-2015 | #7 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Все тоже самая ошибка на 40 строке. Скрипт который выше я взял из хабра. не уверен, что можно здесь ссылки указывать.
|
Последний раз редактировалось alex19451, 06-03-2015 в 14:26. Отправлено: 14:21, 06-03-2015 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата alex19451:
Цитата alex19451:
|
||
Отправлено: 14:51, 06-03-2015 | #9 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Цитата Iska:
https://www.dropbox.com/s/svbmo5ud60...D0%B9.jpg?dl=0 |
|
Последний раз редактировалось alex19451, 06-03-2015 в 15:32. Отправлено: 15:16, 06-03-2015 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Ошибка - SwIron: shockwave flash выдает ошибку "память не может быть Read" | Teonanakatl | Microsoft Windows 2000/XP | 3 | 27-10-2014 19:09 | |
7 / 2008 R2 - WinSetupFromUSB выдает ошибку "WinPreSetup No Disk" | SKSKSS | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 11 | 30-03-2014 12:45 | |
Разное - Программа выдает ошибку "the machine id of your system cannot be determined" | ~Cash~ | Microsoft Windows 7 | 11 | 31-07-2012 23:04 | |
Доступ - Отсутствует опция "Наследовать от родительского объекта применимые к дочерним объект" | Tolyanchik | Microsoft Windows 2000/XP | 2 | 17-12-2010 15:58 | |
Интерфейс - [решено] Пропала строка "Свойства папки" из выпадающего меню "Сервис" панели задач | Стальное сердце | Microsoft Windows 2000/XP | 1 | 28-09-2007 11:26 |
|