1 (8 лет 10 месяцев назад)

Тема: допилить VBscript

нашел скрипт, который дергает из указаной группы АД пользователей логин и ФИО и пишет в файл.
Как бы допилить чтобы дергал еще и email.

скрипт

on error resume next

'Input data
DomainController = InputBox("Введите NetBIOS имя контроллера домена:","Имя контроллера домена","")
GroupName = InputBox("Введите имя группы:","Имя группы (Login Name)","")

'connect to AD object
Set objGroup = GetObject("WinNT://" & DomainController & "/" & GroupName)

'create *.csv file
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Fil = FSO.CreateTextFile("d:\" & GroupName & "_users.csv",2)
Fil.WriteLine(GroupName & vbCrLf & "Login Name;Full Name")

'List users
For Each Member in objGroup.Members
    If Member.Class = "User" Then
        Fil.WriteLine(Member.Name & ";" & Member.FullName)
        else If Member.Class = "Cotact" Then
        Fil.WriteLine(Member.Name & ";" & Member.FullName)
    End If
        End If
Next
Fil.Close
Wscript.Echo ("Выполение скрипта закончено" & vbCrLf & "Список пользователей находится в корне диска")

2 (8 лет 10 месяцев назад)

Re: допилить VBscript

Fil.WriteLine(Member.Name & ";" & Member.FullName)
        else If Member.Class = "Cotact" Then
        Fil.WriteLine(Member.Name & ";" & Member.FullName)

Это гениально xDD

А по делу, наверное так   Fil.WriteLine(GroupName & vbCrLf & "Login Name;Full Name;Email")
А потом так Fil.WriteLine(Member.Name & ";" & Member.FullName & ";" & Member.Email)

Отредактировано -=KORSAR=- (, 8 лет 10 месяцев назад)

3 (8 лет 10 месяцев назад)

Re: допилить VBscript

-=KORSAR=- пишет:

Fil.WriteLine(Member.Name & ";" & Member.FullName)
        else If Member.Class = "Cotact" Then
        Fil.WriteLine(Member.Name & ";" & Member.FullName)

Это гениально xDD

А по делу, наверное так   Fil.WriteLine(GroupName & vbCrLf & "Login Name;Full Name;Email")
А потом так Fil.WriteLine(Member.Name & ";" & Member.FullName & ";" & Member.Email)

не работает  sunglasses

Еще варианты будут?)

Отредактировано (, 8 лет 10 месяцев назад)

4 (8 лет 10 месяцев назад)

Re: допилить VBscript

КОТ пишет:

Еще варианты будут?)

mail?

96О-9сорак1-48-осемнацать

5 (8 лет 10 месяцев назад)

Re: допилить VBscript

интернет отменили ??

Option Explicit
 
Dim StartTime,EndTime: StartTime = Now ' For seeing how long the script takes to run
Dim objShell
Dim objFSO
Const ScriptVersion = "1.01"
Set objShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Wscript.Echo "StartTime = " & StartTime
' ***************************************************************** '
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim objRootDSE
Dim objDomain
Dim objContainer
Dim objOrganizationalUnit
Dim strOutputFileName, objOutputFileName, GarbageRC
Dim intUserObjectCountAll, intUserObjectCountSelected
 
strOutputFileName = "Roster_export.csv"
 
Set objOutputFileName = objFSO.OpenTextFile(strOutputFileName, ForWriting, True)
intUserObjectCountAll = 0
intUserObjectCountSelected = 0
 
Set objRootDSE = GetObject("LDAP://RootDSE")
Set objDomain = GetObject("LDAP://" & objRootDSE.Get("DefaultNamingContext"))
 
Call Sub_EnumOUs(objDomain.ADsPath)
 
Sub Sub_EnumOUs(sADsPath)
Set objContainer = GetObject(sADsPath)
objContainer.Filter = Array("OrganizationalUnit")
For Each objOrganizationalUnit in objContainer
WScript.Echo "Checking OU: " & objOrganizationalUnit.ADsPath
Wscript.Echo " User Object Count: " & intUserObjectCountAll
Sub_EnumUsers(objOrganizationalUnit.ADsPath)
Sub_EnumOUs(objOrganizationalUnit.ADsPath)
Next
End Sub
 
Sub Sub_EnumUsers(sADsPath)
Dim objADobject
Set objContainer = GetObject(sADsPath)
objContainer.Filter = Array("User")
For Each objADobject in objContainer
If objADobject.Class = "user" Then
intUserObjectCountAll = intUserObjectCountAll + 1
If objADobject.Mail <> "" Then
objOutputFileName.Writeline(Chr(34) & objADobject.displayName & Chr(34) & "," & objADobject.Mail)
intUserObjectCountSelected = intUserObjectCountSelected + 1
End If
End If
Next
End Sub
 
objOutputFileName.Close
' ***************************************************************** '
EndTime = Now
Wscript.Echo vbCrLf & "EndTime = " & EndTime
Wscript.Echo "Seconds Elapsed: " & DateDiff("s", StartTime, EndTime)
Wscript.Echo "Script Complete"
Wscript.Quit(0)

скрипт работает


START /WAIT CScript C:\script.vps //NoLogo

Отредактировано (, 8 лет 10 месяцев назад)

6 (8 лет 10 месяцев назад)

Re: допилить VBscript

alex1 пишет:
КОТ пишет:

Еще варианты будут?)

mail?

Нет

Девочка гадЯ пишет:

интернет отменили ??


скрипт работает


START /WAIT CScript C:\script.vps //NoLogo

Нужна выборка из произвольных групп,  через inputbox

Отредактировано (, 8 лет 10 месяцев назад)

7 (8 лет 10 месяцев назад)

Re: допилить VBscript

КОТ пишет:
alex1 пишет:
КОТ пишет:

Еще варианты будут?)

mail?

Нет

Девочка гадЯ пишет:

интернет отменили ??


скрипт работает


START /WAIT CScript C:\script.vps //NoLogo

Нужна выборка из произвольных групп,  через inputbox

Добавь инпут бокс и отфильтруй по нему

8 (8 лет 10 месяцев назад)

Re: допилить VBscript

Девочка гадЯ пишет:
КОТ пишет:
alex1 пишет:
КОТ пишет:

Еще варианты будут?)

mail?

Нет

Девочка гадЯ пишет:

интернет отменили ??


скрипт работает


START /WAIT CScript C:\script.vps //NoLogo

Нужна выборка из произвольных групп,  через inputbox

Добавь инпут бокс и отфильтруй по нему

Не разбираюсь в этом,  поэтому и спрашиваю)

9 (8 лет 10 месяцев назад)

Re: допилить VBscript

КОТ пишет:
Девочка гадЯ пишет:
КОТ пишет:
alex1 пишет:
КОТ пишет:

Еще варианты будут?)

mail?

Нет

Девочка гадЯ пишет:

интернет отменили ??


скрипт работает


START /WAIT CScript C:\script.vps //NoLogo

Нужна выборка из произвольных групп,  через inputbox

Добавь инпут бокс и отфильтруй по нему

Не разбираюсь в этом,  поэтому и спрашиваю)

пичалЪ
а я на треню

Отредактировано Девочка гадЯ (, 8 лет 10 месяцев назад)