Bonjour tout le monde,

suite à de nombreuses recherches infructueuses sur le net, je n'ai pas réussi à trouver le moyen de pouvoir checker une valeur d'UO ou de groupe donné par l'utilisateur lors d'une requête.

Pour mieux comprendre mon problème voici mon script de base:

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
'======================================================================== 
' Script de création de comptes utilisateurs dans le conteneur "Users" a partir d'un fichier Excel 
'======================================================================== 
 
'======================================================================== 
' Déclaration des variables 
'======================================================================== 
 
Dim excel, objetSysteme, uniteOrganisation, uniteGroupe, utilisateur, i 
Dim login, login2, initiales, nom, prenom, bureau, messagerie, telbureau, liste, reponse, reponse2 
 
liste = "" 
 
'======================================================================== 
' Accès au fichier Excel contenant les données des utilisateurs a créer 
'======================================================================== 
 
set excel = wscript.createobject("Excel.Application") 
set objetSysteme = wscript.createobject("wscript.shell") 
excel.visible = false 
excel.workbooks.open(objetSysteme.currentdirectory & "\ComptesUtilisateurs.xlsx") 
 
 
'======================================================================== 
' Demande du script pour l'OU et le groupe à choisir 
'======================================================================== 
 
reponse = InputBox ("Quel est l'unité d'organisation à utiliser?", "Demande d'information", "Utilisateurs") 
if reponse= "" then 
MsgBox "Vous avez annulé la procédure !" 
WScript.Quit(0) 
end if 
 
reponse2 = InputBox ("Quel est le groupe d'utilisateurs à attribuer", "Demande d'information", "Utilisateurs Schneider") 
if reponse2= "" then 
MsgBox "Vous avez annulé la procédure !" 
WScript.Quit(0) 
end if 
'======================================================================== 
' Boucle d'extraction des données Excel ligne par ligne 
'======================================================================== 
 
i = 3 
Do until excel.cells(i,1).value = "" 
 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
' Assignation de chaque colonne Excel dans une variable 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 
login = excel.cells (i,1).value 
initiales = excel.cells (i,2).value 
nom = excel.cells(i,3).value 
nom2 = excel.cells(i,3).value 
prenom = excel.cells(i,4).value 
prenom2 = excel.cells(i,4).value 
bureau = excel.cells(i,5).value 
messagerie = excel.cells(i,6).value 
telbureau = excel.cells(i,7).value 
login2 = nom2 & " " & prenom2 
 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
' Choix du conteneur d'Active Directory (Unité d'organisation) 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 
Set uniteOrganisation = GetObject("LDAP://OU= " & reponse & ", dc=---, dc=---, dc=---, dc=---") 
 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
' Création de ou des utilisateurs et attribution des différentes informations liées au compte 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 
 
Set utilisateur = uniteOrganisation.Create("user", "CN=" & Nom & " " & Prenom) 
utilisateur.Put "UserPrincipalName", login 
utilisateur.Put "initials", initiales 
utilisateur.Put "sn", nom 
utilisateur.Put "givenName", prenom 
utilisateur.Put "Name", nom & " " & prenom 
utilisateur.Put "displayName", Nom & " " & prenom 
utilisateur.Put "physicalDeliveryOfficeName", bureau 
utilisateur.Put "mail", messagerie 
utilisateur.Put "telephoneNumber", telbureau 
utilisateur.SetInfo 
 
utilisateur.Put "pwdLastSet", 0 
utilisateur.SetInfo 
 
 
 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
' Activation du compte 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 
utilisateur.AccountDisabled = FALSE 
utilisateur.SetInfo 
 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
' Intégration de l'utilisateur dans un groupe défini 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 
Set uniteGroupe = GetObject("LDAP://cn=" & reponse2 & ", OU= " & reponse & ", dc=---, dc=---, dc=---, dc=---") 
uniteGroupe.add "LDAP://CN=" & login2 & ", OU= " & reponse & ", dc=---, dc=---, dc=---, dc=---" 
uniteGroupe.SetInfo 
 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
' Boucle 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 
i = i+1 
 
Loop 
 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
' Message de confirmation 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 
MsgBox "Les utilisateurs ont été créés avec succès !", vbOKOnly, "Confirmation" 
 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
' Fermeture du processus Excel 
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
excel.quit 
 
WScript.Quit(0)
Ce script me permet de créer une liste d'utilisateurs à partir d'une feuille excel et fonctionne parfaitement.

Le partie du code qui me pose problème est en lignes 28 à 38, je cherche le moyen de pouvoir rechercher dans l'AD la valeur rentrée par l'utilisateur.
Pour cela, j'aimerai que l'utilisateur rentre une valeur, clique sur OK pour qu'ensuite deux choix s'impose:

- la valeur recherchée est OK est le script passe à la suite

- la valeur recherchée est incorrecte et un message d'erreur s'affiche " l'UO/le groupe que vous avez rentré n'existe pas ".
L'utilisateur clique sur OK et revient à la fenêtre de demande précédemment affichée.


Merci d'avance pour vos réponses et , pour information, je prépare une PTI sur l'active directory ce qui explique ce script.