Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

emx (13-12-2006 21:07): http://forum.ru-board.com/topic.cgi?forum=8&topic=19088#1  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

jONES1979



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору


Код:
 
Option Explicit
' based on http://www.microsoft.com/technet/scriptcenter/guide/sas_ads_scsw.mspx
 
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
 
Dim objRootDSE, objDomain, objContainer, objOU, objGroup,  objLeaf
Dim i, j, xC, objArgs, objFSO, objFile, sParamFN
Dim strName, Flag, newFlag
Dim AP, sNames
 
Sub CreateCourseOU(iCourse)
'  Создать новый OU
'    Set objDomain = GetObject("LDAP://ou=Students,ou=EDU_users,dc=edu,dc=ntiustu,dc=local")
    Set objDomain = GetObject("LDAP://ou=Students,dc=edu,dc=ntiustu,dc=local")
    Set objOU = objDomain.Create("organizationalUnit", "ou=Course"+CStr(iCourse))
    objOU.SetInfo
End Sub
 
' Создать новую  группу "students2005" в  OU="EDU_users"
' Sub CreateGroup
'    Set objOU = GetObject("LDAP://ou=EDU_users,dc=edu,dc=ntiustu,dc=local")
'    Set objGroup = objOU.Create("group", "cn=students2005")
'    objGroup.Put "sAMAccountName", "students2005"
'    objGroup.SetInfo
'End Sub
 
 
 
 
' процедура создания юзера
Sub CreatAD_User(sParam)
 
 '  WScript.Echo sParam  
   
  AP = Split(sParam, ",", -1, 1)
  xC =  UBound(AP)  
  For j=0 To xC
'    WScript.Echo AP(j)
  Next
   
  WScript.Echo AP(2)
 
  sNames = Split(AP(3), " ", -1, 1)
   
Set objContainer = GetObject("LDAP://ou=Course"+CStr(AP(6))+",ou=Students,dc=edu,dc=ntiustu,dc=local")  
     
  Set objLeaf = objContainer.Create("User", "cn=" & AP(2) )
  objLeaf.Put "sAMAccountName",  AP(0)
  objLeaf.Put "description", "Студент 2006 " & AP(5)
   
  objLeaf.FullName = AP(3)
  objLeaf.FirstName = sNames(0)
  objLeaf.LastName = sNames(1)&" "& sNames(2)
  objLeaf.userPrincipalName =  AP(0)& "@" & "edu.ntiustu.local"
 
  objLeaf.SetInfo               ' Записываем
   
  objLeaf.SetPassword AP(4)     ' ПАРОЛЬ. После того как юзер создан
   
  objLeaf.Put "Title", AP(1)    ' Было так  "Студент "+AP(5) Теперь тут будет храниться код
  objLeaf.Put "Division", AP(5)  
  objLeaf.Put "Department", "Факультет "& AP(7)    
   
     
  Flag = objLeaf.Get("UserAccountControl")
  newFlag = Flag or ADS_UF_DONT_EXPIRE_PASSWD
  objLeaf.Put "userAccountControl", newFlag
   
  objLeaf.AccountDisabled = False
 
    objLeaf.SetInfo
     
  Set objGroup = GetObject("LDAP://cn=Students,ou=Students,dc=edu,dc=ntiustu,dc=local")
  objGroup.Add(objLeaf.ADsPath)
 
End Sub
 
'         0            1     2                          3                         4        5       6  7
' пример  Abashev-DG,      Abashev Dmitrij Gennadevich,Абашев Дмитрий Геннадьевич,20040235,224-ИСТ,2,Экономики  и менеджмента
'         Abashev-DG,11287,Abashev Dmitrij Gennadevich,Абашев Дмитрий Геннадьевич,20040235,224-ИСТ,2,Экономики  и менеджмента
'
 
' ========================================================
' ==================   Начало скрипта  ===================
 
 
Set objArgs = WScript.Arguments
If objArgs.Count = 1 Then sParamFN = objArgs(0) Else sParamFN = "test.ADSI.txt"
 
For i=1 To 6  
'  CreateCourseOU(i)  
Next
 
 
WScript.Echo "Загружается файл"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If (objFSO.FileExists(sParamFN)) Then
 
  Set objFile = objFSO.OpenTextFile (sParamFN, ForReading)
  i = 0
  Do Until objFile.AtEndOfStream
    i = i + 1
    strName = objFile.ReadLine
     
    If Left(strName,1) <> "*"  Then CreatAD_User(strName) ' WScript.Echo strName
 
  Loop
 
  objFile.Close
End If
 
WScript.Echo "Well done. "+CStr(i)+" items processed"
 
 


Всего записей: 324 | Зарегистр. 20-05-2005 | Отправлено: 16:32 14-11-2006 | Исправлено: jONES1979, 16:34 14-11-2006
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования
emx (13-12-2006 21:07): http://forum.ru-board.com/topic.cgi?forum=8&topic=19088#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru