Friday, August 21, 2009

Schema Admin Replication Script

'on error resume next
set objFSO = CreateObject("Scripting.FileSystemObject")
strfile = "SchemaAdmins#" & day(date) & "-" & month(date) & "-" & year(date) & ".csv"
set objOutputFile = objFSO.CreateTextFile("E:\AdminReports\" & strfile,1)
set con = CreateObject("ADODB.Connection")
set com = CreateObject("ADODB.Command")
con.Provider = "ADsDSOObject"
con.open "Active Directory Provider"
com.ActiveConnection = con
com.Properties("searchscope") = 2
com.Properties("Page Size") = 100000
str = "select distinguishedName,cn,displayName from 'LDAP://ABC.com/dc=ABC,dc=com' where objectcategory='group' and cn='Schema Admins'"
com.commandText = str
set rs = com.Execute
While Not rs.EOF
Set objGroup = GetObject ("LDAP://" & rs("distinguishedName"))
For each objMember in objGroup.Members
objOutputFile.writeline objMember.cn & "," & objMember.displayname & "," & objMember.mail
Next
rs.movenext
Wend
set RootDSE = Nothing
set con = Nothing
set objUser = Nothing
Set objMail = CreateObject("cdonts.newmail")
objMail.From = "delegatesAcccounts@ABC.com"
objMail.To = "Recepient address list separated by comma"
objMail.Subject = "Schema Admins User List"
objMail.BodyFormat = 0
objMail.MailFormat = 0
objMail.Body = "Hi - Pls find the Schema Admins users details as on " & now() & "."
objMail.AttachFile (strfile)
objMail.send
Set objMail = Nothing

No comments: