Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Nbre de bal Exchange dans l'AD

2 réponses
Avatar
Grincheux
Bonjour,

Je souhaite récupérer le nombre de boîtes ax lettres Exchange via une
requête LDAP dans un AD sous W2K.
Si quelqu'un connait la manip., je suis preneur.

Merci d'avance.

2 réponses

Avatar
Thierry DEMAN [MVP]
Bonsoir,

voici un petit exemple de Vbscript (à définir en .VBS):



' Auteur: Thierry DEMAN (BY THE WAY)
' -------------------------------------------------------------------------------------------------------------
' Fonctionnement: Comptage des Utilisateurs possédant une boîte dans le
domaine courant!
' -------------------------------------------------------------------------------------------------------------
'************************** VARIABLES SYSTEMES **************************
Dim user, computer
Dim u
Dim oRootDSE,strDomainNC
Dim oConnection,oRecordset
' ------------------------------------- DEBUT DE
PROGRAMME -------------------------------------------


' Recherche du domaine Active Directory courant, on peut aussi forcer la
valeur !
Set oRootDSE = GetObject("LDAP://RootDSE")
strDomainNC = oRootDSE.Get("defaultNamingContext")

' Affichage facultative du domaine déterminé
'msgbox(StrDomainNC)
u=0

' Connexion de type base de donnée à Active Directory
Set oConnection = CreateObject("ADODB.Connection")
oConnection.Provider = "ADsDSOObject"
oConnection.Open "ADs Provider"

' Définition de la recherche principale
' Tous les utilisateurs et tous les contacts, dans tous les niveaux de l’arborescence.
Set oRecordset =
oConnection.Execute("<GC://"+StrDomainNC+">;(objectCategory=user);name,HomeMdb;subtree")

' Boucle sur les enregistrements.
If Not oRecordset.EOF Then
While Not oRecordset.EOF

' Attention les champs vides (Null) ne peuvent pas être concaténés en chaine
de caractères
' Il faut donc les vérifier
Name=VerifyNull(oRecordset.Fields("Name"))
HomeMdb=VerifyNull(oRecordset.Fields("HomeMdb"))
If Len(HomeMdb)>0 Then
u=u+1
' Wscript.echo Name+","+HomeMdb
End if

oRecordset.movenext
Wend
End If

wscript.echo "Nombre de boîtes :" +Cstr(u)

wscript.quit


' ********* FIN DE PROGRAMME ***********

' Fonctions...

Function VerifyNull(field)
IF not (isnull(Field)) Then
VerifyNull=Field
Else
VerifyNull=""
End IF
End Function
'------------------------------------------------------------------------------------------------------

--
Thierry DEMAN-BARCELÒ
Exchange MVP, MCSE2003+M,MCSE2003+S,MCDBA,MCITP dba&Dev
http://base.faqexchange.info http://www.faqexchange.info
http://ISAFirewalls.org

"Grincheux" a écrit dans le message de
news:
Bonjour,

Je souhaite récupérer le nombre de boîtes ax lettres Exchange via une
requête LDAP dans un AD sous W2K.
Si quelqu'un connait la manip., je suis preneur.

Merci d'avance.


Avatar
Grincheux
Bonjour,

Merci à toi. C'est nickel et cela répond complètement à mes attentes.

Arno.


Bonsoir,

voici un petit exemple de Vbscript (à définir en .VBS):



' Auteur: Thierry DEMAN (BY THE WAY)
' -------------------------------------------------------------------------------------------------------------
' Fonctionnement: Comptage des Utilisateurs possédant une boîte dans le
domaine courant!
' -------------------------------------------------------------------------------------------------------------
'************************** VARIABLES SYSTEMES **************************
Dim user, computer
Dim u
Dim oRootDSE,strDomainNC
Dim oConnection,oRecordset
' ------------------------------------- DEBUT DE
PROGRAMME -------------------------------------------


' Recherche du domaine Active Directory courant, on peut aussi forcer la
valeur !
Set oRootDSE = GetObject("LDAP://RootDSE")
strDomainNC = oRootDSE.Get("defaultNamingContext")

' Affichage facultative du domaine déterminé
'msgbox(StrDomainNC)
u=0

' Connexion de type base de donnée à Active Directory
Set oConnection = CreateObject("ADODB.Connection")
oConnection.Provider = "ADsDSOObject"
oConnection.Open "ADs Provider"

' Définition de la recherche principale
' Tous les utilisateurs et tous les contacts, dans tous les niveaux de l’arborescence.
Set oRecordset =
oConnection.Execute("<GC://"+StrDomainNC+">;(objectCategory=user);name,HomeMdb;subtree")

' Boucle sur les enregistrements.
If Not oRecordset.EOF Then
While Not oRecordset.EOF

' Attention les champs vides (Null) ne peuvent pas être concaténés en chaine
de caractères
' Il faut donc les vérifier
Name=VerifyNull(oRecordset.Fields("Name"))
HomeMdb=VerifyNull(oRecordset.Fields("HomeMdb"))
If Len(HomeMdb)>0 Then
u=u+1
' Wscript.echo Name+","+HomeMdb
End if

oRecordset.movenext
Wend
End If

wscript.echo "Nombre de boîtes :" +Cstr(u)

wscript.quit


' ********* FIN DE PROGRAMME ***********

' Fonctions...

Function VerifyNull(field)
IF not (isnull(Field)) Then
VerifyNull=Field
Else
VerifyNull=""
End IF
End Function
'------------------------------------------------------------------------------------------------------

--
Thierry DEMAN-BARCELÒ
Exchange MVP, MCSE2003+M,MCSE2003+S,MCDBA,MCITP dba&Dev
http://base.faqexchange.info http://www.faqexchange.info
http://ISAFirewalls.org

"Grincheux" a écrit dans le message de
news:
Bonjour,

Je souhaite récupérer le nombre de boîtes ax lettres Exchange via une
requête LDAP dans un AD sous W2K.
Si quelqu'un connait la manip., je suis preneur.

Merci d'avance.