IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Fonction pour checker l'existence d'une unité d'organisation ou d'un groupe dans l'AD


Sujet :

VBScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Apprenti en BTS IG
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Apprenti en BTS IG
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Fonction pour checker l'existence d'une unité d'organisation ou d'un groupe dans l'AD
    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.

  2. #2
    Membre confirmé Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Points : 582
    Points
    582
    Par défaut
    Bonjour,

    Voici 2 liens qui pourraient t'intéresser pour retrouver des informations sur les OUs :
    - All OUs in a Domain
    - Search for an OU with a Specified Description

    Bonne continuation

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Apprenti en BTS IG
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Apprenti en BTS IG
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci à toi, je regarde ca dès que possible

Discussions similaires

  1. Fonction pour tester l'existence d'une page
    Par erwmat dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/09/2007, 00h06
  2. Réponses: 2
    Dernier message: 09/08/2007, 11h08
  3. Fonction pour tester l'existence d'une image
    Par nais_ dans le forum Langage
    Réponses: 4
    Dernier message: 10/09/2006, 11h38
  4. Fonction pour tester l'existence d'une image
    Par nais_ dans le forum Langage
    Réponses: 4
    Dernier message: 10/09/2006, 11h38
  5. Réponses: 4
    Dernier message: 29/09/2005, 11h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo