Je suis débutant en VBScript et votre aide sera la bienvenue.
J'ai créé un script pour l'ajout d'utilisateurs dans une base d'annuaire AD.
L'architecture AD est assez complexe et dispose d'OU correspondant à chaque
site, l'utilisateur doit être créé dans l'OU du site.
Par exemple : OU=Site-60580-Paris,OU=Utilisateurs,OU=FRANCE,DC=TOTO,DC=COM
Je souhaiterai, par une requête sur le code 60580, récupérer le
distinguishedname.
J'espère avoir été relativement clair dans ma demande.
D'avance merci,
Samuel LEFEBVRE
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles LAURENT
"Samuel LEFEBVRE" a écrit dans le message de news:eupd4$ | Bonjour,
Bonsoir,
[...] | Par exemple : | OU=Site-60580-Paris,OU=Utilisateurs,OU=FRANCE,DC=TOTO,DC=COM | Je souhaiterai, par une requête sur le code 60580, récupérer le | distinguishedname.
Ci-dessous le script VBScript 'getOUFromCode.vbs' permettant de rechercher le DN d'une unité d'organisation dont le code numérique transmis par argument est contenu dans son nom. La recherche s'effectue de manière récursive à partir de la racine de l'annuaire Active Directory :
+++ Usage cscript getOUFromCode.vbs <code>
+++ Exemple >cscript //nologo getOUFromCode.vbs 60580
--- Coupez ici : getOUFromCode.vbs ---
Option Explicit
' déclaration des variables Dim oConn, oCmd, oRS Dim strCode
' lecture du code de l'unité d'organisation transmis comme argument strCode = WScript.Arguments(0)
' initialisation Set oConn = CreateObject ("ADODB.Connection") oConn.Open "ProvidersDSOObject" Set oCmd = CreateObject ("ADODB.Command") oCmd.ActiveConnection = oConn
' parcours des OU à la recherche du code OU spécifié comme argument While Not oRs.EOF ' recherche de l'OU contenant le code spécifié If InStr (1, oRS.Fields ("distinguishedname"), strCode) Then ' le code OU a été trouvé ' affichage du DN WScript.echo oRS.Fields ("distinguishedname") End If ' poursuite de la recherche oRs.MoveNext Wend
--- Coupez ici : getOUFromCode.vbs ---
-- Gilles LAURENT http://glsft.free.fr
"Samuel LEFEBVRE" <slefebvre@fr.scc.com> a écrit dans le message de
news:eupd4$wDHHA.3524@TK2MSFTNGP06.phx.gbl
| Bonjour,
Bonsoir,
[...]
| Par exemple :
| OU=Site-60580-Paris,OU=Utilisateurs,OU=FRANCE,DC=TOTO,DC=COM
| Je souhaiterai, par une requête sur le code 60580, récupérer le
| distinguishedname.
Ci-dessous le script VBScript 'getOUFromCode.vbs' permettant de
rechercher le DN d'une unité d'organisation dont le code numérique
transmis par argument est contenu dans son nom. La recherche s'effectue
de manière récursive à partir de la racine de l'annuaire Active
Directory :
+++ Usage
cscript getOUFromCode.vbs <code>
+++ Exemple
>cscript //nologo getOUFromCode.vbs 60580
--- Coupez ici : getOUFromCode.vbs ---
Option Explicit
' déclaration des variables
Dim oConn, oCmd, oRS
Dim strCode
' lecture du code de l'unité d'organisation transmis comme argument
strCode = WScript.Arguments(0)
' initialisation
Set oConn = CreateObject ("ADODB.Connection")
oConn.Open "ProvidersDSOObject"
Set oCmd = CreateObject ("ADODB.Command")
oCmd.ActiveConnection = oConn
' parcours des OU à la recherche du code OU spécifié comme argument
While Not oRs.EOF
' recherche de l'OU contenant le code spécifié
If InStr (1, oRS.Fields ("distinguishedname"), strCode) Then
' le code OU a été trouvé
' affichage du DN
WScript.echo oRS.Fields ("distinguishedname")
End If
' poursuite de la recherche
oRs.MoveNext
Wend
"Samuel LEFEBVRE" a écrit dans le message de news:eupd4$ | Bonjour,
Bonsoir,
[...] | Par exemple : | OU=Site-60580-Paris,OU=Utilisateurs,OU=FRANCE,DC=TOTO,DC=COM | Je souhaiterai, par une requête sur le code 60580, récupérer le | distinguishedname.
Ci-dessous le script VBScript 'getOUFromCode.vbs' permettant de rechercher le DN d'une unité d'organisation dont le code numérique transmis par argument est contenu dans son nom. La recherche s'effectue de manière récursive à partir de la racine de l'annuaire Active Directory :
+++ Usage cscript getOUFromCode.vbs <code>
+++ Exemple >cscript //nologo getOUFromCode.vbs 60580
--- Coupez ici : getOUFromCode.vbs ---
Option Explicit
' déclaration des variables Dim oConn, oCmd, oRS Dim strCode
' lecture du code de l'unité d'organisation transmis comme argument strCode = WScript.Arguments(0)
' initialisation Set oConn = CreateObject ("ADODB.Connection") oConn.Open "ProvidersDSOObject" Set oCmd = CreateObject ("ADODB.Command") oCmd.ActiveConnection = oConn
' parcours des OU à la recherche du code OU spécifié comme argument While Not oRs.EOF ' recherche de l'OU contenant le code spécifié If InStr (1, oRS.Fields ("distinguishedname"), strCode) Then ' le code OU a été trouvé ' affichage du DN WScript.echo oRS.Fields ("distinguishedname") End If ' poursuite de la recherche oRs.MoveNext Wend
--- Coupez ici : getOUFromCode.vbs ---
-- Gilles LAURENT http://glsft.free.fr
Gilles LAURENT
"Gilles LAURENT" a écrit dans le message de news:OJiF2$
Y a-t-il possibilité de désactiver la recherche récursive ? En effet, dans la réponse, j'obtiens toutes les OU enfants et je souhaiterai juste avoir la première OU.
D'avance merci, Samuel
"Gilles LAURENT" a écrit dans le message de news:
"Gilles LAURENT" a écrit dans le message de news:OJiF2$
Y a-t-il possibilité de désactiver la recherche récursive ?
En effet, dans la réponse, j'obtiens toutes les OU enfants et je souhaiterai
juste avoir la première OU.
D'avance merci,
Samuel
"Gilles LAURENT" <glsft@free.fr> a écrit dans le message de
news:Oy2g1o1DHHA.1196@TK2MSFTNGP02.phx.gbl...
"Gilles LAURENT" <glsft@free.fr> a écrit dans le message de
news:OJiF2$0DHHA.4808@TK2MSFTNGP03.phx.gbl
Y a-t-il possibilité de désactiver la recherche récursive ? En effet, dans la réponse, j'obtiens toutes les OU enfants et je souhaiterai juste avoir la première OU.
D'avance merci, Samuel
"Gilles LAURENT" a écrit dans le message de news:
"Gilles LAURENT" a écrit dans le message de news:OJiF2$
"Samuel LEFEBVRE" a écrit dans le message de news: | Y a-t-il possibilité de désactiver la recherche récursive ? | En effet, dans la réponse, j'obtiens toutes les OU enfants et je | souhaiterai juste avoir la première OU.
Ce script n'affiche plus les OU enfants de l'OU cible :
"Samuel LEFEBVRE" <slefebvre@fr.scc.com> a écrit dans le message de
news:erlmUn8DHHA.4112@TK2MSFTNGP03.phx.gbl
| Y a-t-il possibilité de désactiver la recherche récursive ?
| En effet, dans la réponse, j'obtiens toutes les OU enfants et je
| souhaiterai juste avoir la première OU.
Ce script n'affiche plus les OU enfants de l'OU cible :
"Samuel LEFEBVRE" a écrit dans le message de news: | Y a-t-il possibilité de désactiver la recherche récursive ? | En effet, dans la réponse, j'obtiens toutes les OU enfants et je | souhaiterai juste avoir la première OU.
Ce script n'affiche plus les OU enfants de l'OU cible :