將以下腳本保存為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
'輸出文件的名字叫g(shù)roup.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
|