信的什么歌好听:导出AD中某OU下所有组和组成员
来源:百度文库 编辑:偶看新闻 时间:2024/05/09 15:36:45
将以下脚本保存为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