Gérer le forum:  Aide  •  Rechercher  •  Liste des Membres  •  Groupes d'utilisateurs   •  S'enregistrer  •  Profil  •  Se connecter pour vérifier ses messages privés  •  Connexion 
 Fonction pour checker l'existence d'une UO/groupe Voir le sujet suivant
Voir le sujet précédent
Poster un nouveau sujetRépondre au sujet
Auteur Message
Chivé972
Newbiiiie
Newbiiiie


BTS IG - Option réseau 2ème année
Sexe: Sexe:Masculin
Messages: 3
Localisation: Lieusaint

MessagePosté le: Mar 27 Mar 2012 - 11:59 Répondre en citantRevenir en haut

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:

'========================================================================
' 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 gras: 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 Very Happy
Voir le profil de l'utilisateurEnvoyer un message privé

N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire.
Darshan
Modérateur
Modérateur



Sexe: Sexe:Masculin
Messages: 270
Localisation: Chaville (92)

MessagePosté le: Mar 27 Mar 2012 - 19:43 Répondre en citantRevenir en haut

Bonjour et bienvenue sur le forum.

Je t'invite à te présenter dans ce topic : http://www.web-ig.com/forum/10_0-presentation-des-nouveaux-membres-par-ici.html

J'estime que c'est la moindre des choses que de se présenter.

Merci et bonne journée.

_________________
-> Tumblr Loi Duflot.
-> Actualité immobilier.
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN Messenger
Chivé972
Newbiiiie
Newbiiiie


BTS IG - Option réseau 2ème année
Sexe: Sexe:Masculin
Messages: 3
Localisation: Lieusaint

MessagePosté le: Mer 28 Mar 2012 - 15:24 Répondre en citantRevenir en haut

Up
Voir le profil de l'utilisateurEnvoyer un message privé
Montrer les messages depuis:      
Poster un nouveau sujetRépondre au sujet
 Sauter vers:   



Voir le sujet suivant
Voir le sujet précédent
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum