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

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

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

ShriEkeR (23-05-2011 23:06): Автоматизация администрирования. Часть 3  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

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,dc=edu,dc=nt,dc=local")
    Set objOU = objDomain.Create("organizationalUnit", "ou=Course"+CStr(iCourse))
    objOU.SetInfo
End Sub
 
 
' процедура создания юзера
' передаваемый параметр - строка с разделителями
'      0            1     2                          3                         4        5       6  7
'     Abashev-DG,11287,Abashev Dmitrij Gennadevich,Абашев Дмитрий Геннадьевич,20040235,224-ЭУ,2,Экономики  и менеджмента
'
 
Sub CreatAD_User(sParam)
   
  AP = Split(sParam, ",", -1, 1)
 
'  WScript.Echo AP(2)
 
  sNames = Split(AP(3), " ", -1, 1)
 
Set objContainer = GetObject("LDAP://ou=Course"+CStr(AP(6))+",ou=Students,dc=edu,dc=nt,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.nt.local"
 
  objLeaf.SetInfo               ' Записываем
   
  objLeaf.SetPassword AP(4)     ' ПАРОЛЬ. После того как юзер создан
   
  objLeaf.Put "Title", AP(1)    ' Теперь тут будет храниться код
  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=nt,dc=local")
  objGroup.Add(objLeaf.ADsPath)
End Sub
 
 
' ========================================================
' ==================   Начало скрипта  ===================
 
Set objArgs = WScript.Arguments
If objArgs.Count = 1 Then sParamFN = objArgs(0) Else sParamFN = ".ADSI 2006 10 12.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
   
   ' WScript.Echo strName  
   CreatAD_User(strName)  
   
  Loop
 
  objFile.Close
End If
 
WScript.Echo "Well done. "+CStr(i)+" items processed"
 


Всего записей: 324 | Зарегистр. 20-05-2005 | Отправлено: 00:10 18-09-2007 | Исправлено: jONES1979, 00:11 18-09-2007
   

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

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования. Часть 2
ShriEkeR (23-05-2011 23:06): Автоматизация администрирования. Часть 3


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru