VBS et AD

Hello tout le monde, attention champagne je me résoud finalement a poster dans une zone de développeurs, moi qui suit définitivement qu’un techos réseau ><
Bref, j’ai un petit soucis en ce qui concerne un script d’administation que je doit rédiger dans le cadre de mes études, et comme le dev c’est pas mon truc je m’en remet à vous (en ayant cherché sur gougeule avant bien sur ^^’).

Voila le topo:

[b]Langage :[/b] VBS
[b]Environement :[/b] Widows Server 2003 + Active Directory
[b]Ce que je souhaiterais faire :[/b]

Un script d’administation qui doit effectuer les taches suivantes :

- Recherche et récupération du domaine et du conteneur active Directory par défaut => OK

Set oRoot = GetObject("LDAP://rootDSE") Set oDomain = GetObject("LDAP://" & oRoot.Get("defaultNamingContext"))

- Création d’une untité d’organisation + description => OK

Set oOU=oDomain.Create("organizationalUnit", "ou=Eleves") oOU.Put "Description", "Unité d'organisation Eleves"

- Affichage dans une MessageBox "L’utilisateur sera crée dans l’UA sur le domaine
Boutons [Oui] & bouton [Non]
Si [oui], on continue le script
Si [non], Afficher “Entrer le nom de la nouvelle UO a créer” ->

- Afficher “Nom de l’utilisateur” -> Saisie Clavier

- Afficher "Le nom de l’utilisateur sera : "
Boutons [Oui] & bouton [Non]
Si [oui], on continue le script
Si [non], saisie a nouveau de

- Afficher “Nom du compte :” -> Saisie Clavier
Boutons [Oui] & bouton [Non]
Si [oui], on continue le script
Si [non], saisie a nouveau de

- Afficher “Description :” -> Saisie Clavier
Boutons [Oui] & bouton [Non]
Si [oui], on continue le script
Si [non], saisie a nouveau de

- Afficher “Mot de passe de l’utilisateur :” -> Saisie Clavier
Boutons [Oui] & bouton [Non]
Si [oui], on continue le script
Si [non], saisie a nouveau de

- Afficher "L’utilisateur crée sera ,
Nom de compte :
Description :
Mot de Passe :

Boutons [Oui] & bouton [Non]
Si [oui], on temrmine le script -> Execution des comandes sous Active Directory -> Quittage du script
Si [non], retour a [ Afficher “Nom de l’utilisateur” -> Saisie Clavier

Mes questions sont donc les suivantes :

- Comment qu’on fait pour récupérer la valeur d’une MessageBox ? sachant que pour mon cas il n’y a toujours que 2 solutions [Yes] et [No] Trouvé !

  • Comment ca se passe pour les choses du genre Goto Ligne Tartempion ? Comment on fait pour mettre des noms a des lignes (Flags ?) ?
  • Votre avis sur ce script ? des modifs a apporter ? Toute remarque m’intéresse même les désobligeantes ^^

J’ai cherché sur google mais sans grand résultat et ca fait quelque jours que je me prend la tête dessus… Le dev étant, je le répète pas DU TOUT mon domaine…

Merci de m’avoir lu.

En VB (pas script) le Goto passe par un ‘label’. Mais attend toi à ce que tout le monde te dise que le GOTO c’est le M.A.L. Si tu veux l’utiliser pour toutes tes confirmations (si oui on continue sinon on redemande) tu peux faire une boucle while. Tant qu’il dit non on repose la question, dès qu’il dit oui on continue.

Le goto c’est le MAL

à la place faut utilise les if / end if ou mieux les if not / break dans le cas présent.
Il est possible de tout faire sans goto, c’est une commande que j’ai plus utilisé depuis 15 ans.

Sinon pour ton script, n’oublie pas de faire des ‘commit’ à chaque modif de l’ad. Sinon, ça n’écrit rien dans la base… (il manque un Ou.setInfo après le ou=createobejct…)

Edit : Ceci n’est pas du développement, c’est du script. C’est le coeur du boulot d’admin système.

Re-Edit : ecrit Option Explicit en première ligne de ton script (et astreint toi à toujours le faire) ça te sauvera la vie. Par contre du coup il faut déclarer toutes tes variables (dim trucmuche, ya pas de type en vbs)

Mais … Mais … Je suis devin !!!

Oui bon OK c’est un post inutile. Désolé, je suis déjà dehors

Pour info, dans code-complete de Steven C. McConnell, (coucou lord abdul B)) il dit que goto c’est mal si c’est pour revenir dans le code, mais si c’est pour aller plus loin ça va.
Sinon goto ça se voit encore dans certaines sources (je sais plus dans quel logiciel libre j’en ai vu trainner)
Désolé pour le hors sujet B)

[OT grognon]
Mais foutez lui la paix au goto!
Le goto c’est comme la biere, c’est une question d’abus B)
et sinon, pour son script, si un goto fait l’affaire, pourquoi se prendre la tete a utiliser autre choses ?
[/OT grognon]