Exporter dans Excel les paramètres de messagerie de tous les utilisateurs d’un domaine Active Directory
Ce script exporte l’ensemble des comptes utilisateurs d’un domaine DOMLAB vers un fichier Excel formaté. les attributs Active Directory sélectionnés concernent les informations de base de l’utilisateur ainsi que certaines informations concernant leur messagerie Exchange.
Les attributs exportés sont les suivants:
- displayName
- givenName
- mailNickname
- homeMDB
- msExchHideFromAddressLists
L’attribut userAccountControl est utilisé ici afin de filtrer les comptes utilisateurs désactivés.
Dim ObjConnection, ObjCommand, ObjRecordSet
Dim objExcel
Const ADS_UF_ACCOUNTDISABLE = 2
Set ObjConnection = CreateObject("ADODB.Connection")
Set ObjCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
oDomainControler = "EFESSYS101/ou=Quille,dc=byefe,dc=com"
sProperties="userAccountControl,displayName,givenName,mailNickname,mail,homeMDB,msExchHideFromAddressLists"
objCommand.Properties("Page Size") = 10000
ObjCommand.CommandText = "<LDAP://" & oDomainControler & ">;(&(objectCategory=person)(objectClass=user));" & sProperties & ";subtree"
ObjCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objExcel = WScript.CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add
objExcel.ActiveSheet.Name = "Users"
objExcel.ActiveSheet.Range("A1").Activate
objExcel.ActiveCell.Value = "DisplayName"
objExcel.ActiveCell.Offset(0,1).Value = "Login"
objExcel.ActiveCell.Offset(0,2).Value = "Alias de messagerie"
objExcel.ActiveCell.Offset(0,3).Value = "Adresse email principale"
objExcel.ActiveCell.Offset(0,4).Value = "Banque d'information"
objExcel.ActiveCell.Offset(0,5).Value = "Masqué dans le carnet d'adresse"
objExcel.ActiveCell.Offset(1,0).Activate
Set ObjRecordSet = ObjCommand.Execute
Do until objRecordSet.EOF
intUAC=objRecordset.Fields("userAccountControl")
If intUAC AND ADS_UF_ACCOUNTDISABLE Then
objRecordSet.MoveNext
else
objExcel.ActiveCell.Value = objRecordSet.fields("displayName")
objExcel.ActiveCell.Offset(0,1).Value = objRecordSet.fields("givenName")
objExcel.ActiveCell.Offset(0,2).Value = objRecordSet.fields("mailNickname")
objExcel.ActiveCell.Offset(0,3).Value = objRecordSet.fields("mail")
objExcel.ActiveCell.Offset(0,4).Value = objRecordSet.fields("homeMDB")
objExcel.ActiveCell.Offset(0,5).Value = objRecordSet.fields("msExchHideFromAddressLists")
objExcel.ActiveCell.Offset(1,0).Activate
objRecordSet.MoveNext
End If
Loop
ObjConnection.Close
Set ObjConnection = Nothing
Set ObjCommand = Nothing
Set ObjRecordSet = Nothing
objExcel.Range("A1:F1").Select
objExcel.Selection.Interior.ColorIndex = 19
objExcel.Selection.Font.ColorIndex = 9
objExcel.Selection.Font.Bold = True
objExcel.Cells.EntireColumn.AutoFit
wscript.echo "Terminé"
Ce code est correctement formaté.
Vous pouvez directement le COPIER / COLLER dans un fichier VBS.
Dans le même esprit ...
Commentaires
Déposez votre commentaire
