Exporter dans Excel les limites de BAL Exchange des utilisateurs Active Directory en VBScript
Dans cet exemple, j’exporte dans Excel le nom et le login des utilisateurs d’une OU ainsi que certains attributs liés à la limite de leurs boites aux lettres (BAL).
Les limites des boites aux lettres Exchange se paramètrent à partir du gestionnaire des Utilisateurs et Ordinateurs Active Directory dans les propriétés Exchange des comptes utilisateurs dans cette fenêtre:
Dans mon export j’utilise les attributs suivants:
Login : Name
Nom : sn
Prénom : GivenName
Taille des messages entrants : delivContLength
Taille des messages sortants : submissionContLength
Paramètres BAL par défaut : mDBUseDefaults
Emettre un avertissement : mDBStorageQuota
Interdire l’envoi à partir de : mDBOverQuotaLimit
Interdire l’envoi et la réception à partir de : mDBOverHardQuotaLimit
Script:
Dim ObjConnection, ObjCommand, ObjRecordSet, ObjRecord
Dim objExcel, objChild
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/dc=byefe,dc=com”
sProperties=”Name,DisplayName,sn,GivenName,distinguishedName,ADsPath,mail,UserAccountControl,delivContLength,submissionContLength,mDBUseDefaults,mDBStorageQuota,mDBOverQuotaLimit,mDBOverHardQuotaLimit”
objCommand.Properties(”Page Size”) = 10000
ObjCommand.CommandText = ” 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 = “Nom”
objExcel.ActiveCell.Offset(0,3).Value = “Prénom”
objExcel.ActiveCell.Offset(0,4).Value = “Taille messages entrants”
objExcel.ActiveCell.Offset(0,5).Value = “Taille messages sortant”
objExcel.ActiveCell.Offset(0,6).Value = “Paramêtre BAL par défault”
objExcel.ActiveCell.Offset(0,7).Value = “Emettre un avertissement”
objExcel.ActiveCell.Offset(0,8).Value = “Interdire l’envoi à partir de”
objExcel.ActiveCell.Offset(0,9).Value = “Interdire l’envoi et la reception à partir de”
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
tmpdisabled = “Disable”
else tmpdisabled = “Enable”
End If
objExcel.ActiveCell.Value = objRecordSet.fields(”DisplayName”)
objExcel.ActiveCell.Offset(0,1).Value = objRecordSet.fields(”Name”)
objExcel.ActiveCell.Offset(0,2).Value = objRecordSet.fields(”sn”)
objExcel.ActiveCell.Offset(0,3).Value = objRecordSet.fields(”GivenName”)
objExcel.ActiveCell.Offset(0,4).Value = objRecordSet.fields(”delivContLength”)
objExcel.ActiveCell.Offset(0,5).Value = objRecordSet.fields(”submissionContLength”)
objExcel.ActiveCell.Offset(0,6).Value = objRecordSet.fields(”mDBUseDefaults”)
objExcel.ActiveCell.Offset(0,7).Value = objRecordSet.fields(”mDBStorageQuota”)
objExcel.ActiveCell.Offset(0,8).Value = objRecordSet.fields(”mDBOverQuotaLimit”)
objExcel.ActiveCell.Offset(0,9).Value = objRecordSet.fields(”mDBOverHardQuotaLimit”)
objExcel.ActiveCell.Offset(1,0).Activate
objRecordSet.MoveNext
Loop
ObjConnection.Close
Set ObjConnection = Nothing
Set ObjCommand = Nothing
Set ObjRecordSet = Nothing
wscript.echo “Extraction Terminée”
Dans le même esprit ...
Commentaires
Déposez votre commentaire


