Bonjour,
je voudrais savoir s'il existe une gestion d'erreur - qui soit paramétrable - lors de la recherche d'un utilisateur dans Active Directory.
Je m'explique :
Je fais une recherche sur mon AD avec le login d'un utilisateur.
J'aimerais avoir un message me signalant que le compte n'existe pas.
Si le compte existe je récupère le contenu du champ "radiomessagerie (PAGER)" et aimerais aussi avoir un message s'il est vide.
Avez-vous une idée?
Ci-dessous, mon code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 OPTION Explicit Dim objConnection, objCommand, setUserAccontName, objRecordSet, strResult, oRootDSE 'ADS_SCOPE_SUBTREE (variable indiquant jusqu'a combien de niveau descendre) Const ADS_SCOPE_SUBTREE = 2 setUserAccontName = InputBox("Entrez le nom du compte utilisateur", "AD - find User PIN Number") 'Recherche du domaine Active Directory courant Set oRootDSE = GetObject("LDAP://rootDSE") 'Connexion de type base de donnée à l'AD Set objConnection = CreateObject("ADODB.Connection") With objConnection .Provider = "ADsDSOObject" .Open "Active Directory Provider" End With ' Définition de la recherche Set objCommand = CreateObject("ADODB.Command") Set objCommand.ActiveConnection = objConnection With objCommand .Properties("Page Size") = 1000 .Properties("Searchscope") = ADS_SCOPE_SUBTREE .CommandText = "SELECT pager FROM 'LDAP://" _ & oRootDSE.get("defaultNamingContext") _ & "'WHERE objectCategory='user'" _ & "AND sAMAccountName='" & setUserAccontName & "'" End With On Error Resume Next Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst Do Until objRecordSet.EOF strResult = objRecordSet.Fields("pager").Value objRecordSet.MoveNext Loop If strResult <> "" Then Wscript.Echo "Le numéro de Radiomessagerie du compte utilisateur: " & UCase(setUserAccontName) & " est: " & strResult Else Wscript.Echo "Le numéro de Radiomessagerie n'a pas été trouvé" End If
Partager