驼人集团招聘:导出AD中某OU下所有组和组成员

来源:百度文库 编辑:中财网 时间:2024/05/07 02:11:49

将以下脚本保存为group.vbs,运行后可以得到一个group.csv的文件,用Excel打开后可以看到组和成员及他们的email地址。

Const ADS_SCOPE_SUBTREE = 2

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"

Set objCOmmand.ActiveConnection = objConnection
'LDAP指定对象的来源, objectclass=group指定类型,Name, Mail都是用户帐号对象的属性
objCommand.CommandText = _
    "Select Name, mail, distinguishedName from 'LDAP://OU=myou,DC=mydomain,DC=com' " _
        & "Where objectClass='group'"  
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst

'输出文件的名字叫group.csv
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objNewFile = objFS.CreateTextFile("group.csv")
objNewFile.WriteLine "Group Name, Group Member, Mail"

Do Until objRecordSet.EOF
    objNewFile.WriteLine
'输出组的名称
 objNewFile.WriteLine objRecordSet.Fields("Name").Value & " ," & " ," &_
 objRecordSet.Fields("mail").Value
'引用组的名称
 Set objGroup = GetObject("LDAP://" & objRecordSet.Fields("distinguishedName").Value)
'列出组成员 
  For each objMember in objGroup.Members
   objNewFile.WriteLine " ," & objMember.Name & " ," & objMember.Mail
  Next
 objRecordSet.MoveNext
Loop