Код:

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