' NAME: GetExchangeAdminGroups.vbs ' v1.0 ' AUTHOR: Jeffery Hicks MCSE,MCT ' jhicks@jdhitsolutions.com ' DATE : 11/14/2005 ' ' USAGE : cscript|wscript GetExchangeAdminGroups.vbs ' NOTES : Get the distinguishedName, CN and Name of all Exchange ' Administrative Groups in your Exchange organization. ' You should use CSCRIPT to run this. Requires access to a Global Catalog ' server. ' ********************************************************************************* ' * THIS PROGRAM IS OFFERED AS IS AND MAY BE FREELY MODIFIED OR ALTERED AS * ' * NECESSARY TO MEET YOUR NEEDS. THE AUTHOR MAKES NO GUARANTEES OR WARRANTIES, * ' * EXPRESS, IMPLIED OR OF ANY OTHER KIND TO THIS CODE OR ANY USER MODIFICATIONS. * ' * DO NOT USE IN A PRODUCTION ENVIRONMENT UNTIL YOU HAVE TESTED IN A SECURED LAB * ' * ENVIRONMENT. USE AT YOUR OWN RISK. * ' ********************************************************************************* On Error Resume Next Dim objRootDSE Dim objConfiguration Dim cat Dim conn Dim cmd Dim RS Set objRootDSE = GetObject("LDAP://rootDSE") strConfiguration = "LDAP://" & objRootDSE.Get("configurationNamingContext") Set objConfiguration = GetObject(strConfiguration) strQuery="Select name,cn,distinguishedname from '" & _ objConfiguration.ADSPath & "' Where objectclass='msExchAdminGroup'" strResults="" set cat=GetObject("GC:") for each obj in cat set GC=obj Next set conn=Createobject("ADODB.Connection") set cmd=CreateObject("ADODB.Command") conn.Provider="ADSDSOObject" conn.Open set cmd.ActiveConnection=conn set RS=conn.Execute(strQuery) do while not RS.EOF DN=rs.Fields("distinguishedname") CN=RS.Fields("cn") NM=RS.Fields("name") WScript.Echo "Name: " & NM WScript.Echo "CN: " & CN WScript.Echo "DN: " & vbcrlf & DN rs.movenext Loop rs.Close conn.Close 'EOF