OVH Cloud OVH Cloud

comparaison en vbs

2 réponses
Avatar
berthelagrandepatte
Bonjour

J'ai commencé à ecrire un script qui servira à creer des groupes dans une OU
bien précise après avoir analysé un dossier racine dans lequel se trouve des
sous dossiers , ces derniers étant créés par des utilisateurs bien
specifiques.

pour faire simple:

1) analyse du contenu du dossier racine
2)analyse de l'AD dans l'ou Specifique.
3) si nouveau sous dossier et que le groupe n'existe pas, création du groupe
avec le mème nom que le sous dossier dans cette OU.

Mon problème est que je n'arrive pas à comparer le contenu de mon dossier
racine avec le contenu de l'OU dans l'AD et si différence il y a, créer le
groupe. J'ai ce qu'il faut pour controler le contenu du dossier racine ainsi
que la création de l'objet dans l'AD. Il me manque la comparaison.

Il peut etre possibe de créer une fonction ou procédure mais je bute
également. Je ne sais pas comment le faire ?

Merci de vos lumières

2 réponses

Avatar
Yannick SCHAPPLER
Salut,

Tu peux essayer ainsi (ces lignes sont un premier jet comme ca vient, qui
pourront facilement je pense être optimisées ! D'autant que je n'ai pas d'AD
de test pour les vérifier !).
Le code fait appel à trois fonctions, je n'en ai détaillé que deux
(rechercher un groupe dans l'AD et lister les sous-répertoires d'un
répertoire.) pour gagner du temps.
La troisieme servant à créer un groupe dans l'AD (ligne creerGroupe
(oRepertoire.name)) étant déjà en ta possession, tu n'auras qu'à remplacer
la ligne par l'appel à ta fonction ou ton bout de code servant à la création
du groupe.
Si toutefois tu ne t'en sortait pas, fais moi signe !

Esperant que cela puisse t'aider.

Yannick SCHAPPLER

______________________________________________________________________________________________
dim oRepertoire

for each oRepertoire in listerRepertoires ("C:")
if (verifierGroupe (oRepertoire.name) = false) then
creerGroupe (oRepertoire.name)
end if
next


function listerRepertoires (cheminRepertoireRacine)
dim oSystemeFichier, oRepertoireRacine, oSousRepertoire

Set oSystemeFichier = CreateObject("Scripting.FileSystemObject")
Set oRepertoireRacine = oSystemeFichier.getFolder
(cheminRepertoireRacine)
Set oSousRepertoire = oRepertoireRacine.SubFolders

Set listerRepertoires = oSousRepertoire
end function


function verifierGroupe (nomGroupe)
on error resume next
dim oGroupe

Set oGroupe = GetObject("LDAP://CN=" & nomGroupe &
",DC=TonDomaine,Dc=TaBoite,DC=TonPays")

If oGroupe.name = "" then
verifierGroupe = False
else
verifierGroupe = True
End If
end function
______________________________________________________________________________________________



"berthelagrandepatte" a
écrit dans le message de news:

Bonjour

J'ai commencé à ecrire un script qui servira à creer des groupes dans une
OU
bien précise après avoir analysé un dossier racine dans lequel se trouve
des
sous dossiers , ces derniers étant créés par des utilisateurs bien
specifiques.

pour faire simple:

1) analyse du contenu du dossier racine
2)analyse de l'AD dans l'ou Specifique.
3) si nouveau sous dossier et que le groupe n'existe pas, création du
groupe
avec le mème nom que le sous dossier dans cette OU.

Mon problème est que je n'arrive pas à comparer le contenu de mon dossier
racine avec le contenu de l'OU dans l'AD et si différence il y a, créer le
groupe. J'ai ce qu'il faut pour controler le contenu du dossier racine
ainsi
que la création de l'objet dans l'AD. Il me manque la comparaison.

Il peut etre possibe de créer une fonction ou procédure mais je bute
également. Je ne sais pas comment le faire ?

Merci de vos lumières



Avatar
berthelagrandepatte
Salut Yannick

J'ai ecrit mon script ce matin et testé ensuite, ça fonctionne. Merci pour
tes précieux conseils.

A bientot


Salut,

Tu peux essayer ainsi (ces lignes sont un premier jet comme ca vient, qui
pourront facilement je pense être optimisées ! D'autant que je n'ai pas d'AD
de test pour les vérifier !).
Le code fait appel à trois fonctions, je n'en ai détaillé que deux
(rechercher un groupe dans l'AD et lister les sous-répertoires d'un
répertoire.) pour gagner du temps.
La troisieme servant à créer un groupe dans l'AD (ligne creerGroupe
(oRepertoire.name)) étant déjà en ta possession, tu n'auras qu'à remplacer
la ligne par l'appel à ta fonction ou ton bout de code servant à la création
du groupe.
Si toutefois tu ne t'en sortait pas, fais moi signe !

Esperant que cela puisse t'aider.

Yannick SCHAPPLER

______________________________________________________________________________________________
dim oRepertoire

for each oRepertoire in listerRepertoires ("C:")
if (verifierGroupe (oRepertoire.name) = false) then
creerGroupe (oRepertoire.name)
end if
next


function listerRepertoires (cheminRepertoireRacine)
dim oSystemeFichier, oRepertoireRacine, oSousRepertoire

Set oSystemeFichier = CreateObject("Scripting.FileSystemObject")
Set oRepertoireRacine = oSystemeFichier.getFolder
(cheminRepertoireRacine)
Set oSousRepertoire = oRepertoireRacine.SubFolders

Set listerRepertoires = oSousRepertoire
end function


function verifierGroupe (nomGroupe)
on error resume next
dim oGroupe

Set oGroupe = GetObject("LDAP://CN=" & nomGroupe &
",DC=TonDomaine,Dc=TaBoite,DC=TonPays")

If oGroupe.name = "" then
verifierGroupe = False
else
verifierGroupe = True
End If
end function
______________________________________________________________________________________________



"berthelagrandepatte" a
écrit dans le message de news:

Bonjour

J'ai commencé à ecrire un script qui servira à creer des groupes dans une
OU
bien précise après avoir analysé un dossier racine dans lequel se trouve
des
sous dossiers , ces derniers étant créés par des utilisateurs bien
specifiques.

pour faire simple:

1) analyse du contenu du dossier racine
2)analyse de l'AD dans l'ou Specifique.
3) si nouveau sous dossier et que le groupe n'existe pas, création du
groupe
avec le mème nom que le sous dossier dans cette OU.

Mon problème est que je n'arrive pas à comparer le contenu de mon dossier
racine avec le contenu de l'OU dans l'AD et si différence il y a, créer le
groupe. J'ai ce qu'il faut pour controler le contenu du dossier racine
ainsi
que la création de l'objet dans l'AD. Il me manque la comparaison.

Il peut etre possibe de créer une fonction ou procédure mais je bute
également. Je ne sais pas comment le faire ?

Merci de vos lumières