Extraction de données dans fichiers CVS

freyer9153 Messages postés 2 Date d'inscription mercredi 17 septembre 2008 Statut Membre Dernière intervention 20 janvier 2010 - 17 janv. 2010 à 21:39
freyer9153 Messages postés 2 Date d'inscription mercredi 17 septembre 2008 Statut Membre Dernière intervention 20 janvier 2010 - 20 janv. 2010 à 18:44
Bonjour,

voila mon problème:
La finalité de mon script servira a créer en masse des groupes de sécurité dans active directory.
Pour cela je veux que mon script extrait les données (nom du groupe, description) a partir d'un fichier cvs.

la partie création des groupes dans active Directory fonctionne.
par contre je n'arrive pas a trouver comment extraire les données du fichier CVS.

Je m'explique:

mon fichier CVS contient:
Code :

VAR_GROUP,VAR_DESCRIPTION
NomGroup1,Utilisateurs de NomGroup1
NomGroup2,Utilisateurs de NomGroup2
NomGroup3,Utilisateurs de NomGroup3

donc comment faire pour que mes variables var_group soit égale a NomGroup1
et var_description soit égale a Utilisateurs de NomGroup1 ?

Voila la partie du code que j'ai réalisé pour l'instant.
Moi, je bloque sur la partir lecture du fichier CVS et traitement des données.

Code :

dim var_group
dim var_description
dim gg
gg = "_gg"
Const ADS_GROUP_TYPE_GLOBAL_GROUP = &h2
Const ADS_GROUP_TYPE_SECURITY_ENABLED = &h80000000
Set objOU = GetObject("LDAP://OU=Groupes,DC=COMMUN")
Set objGroup = objOU.Create("Group", "cn=pse_" & VAR_GROUP & gg)
objGroup.Put "sAMAccountName", "pse_" & VAR_GROUP
objGroup.Put "description", "Utilisateurs de la ressource " & VAR_GROUP
objGroup.Put "groupType", ADS_GROUP_TYPE_GLOBAL_GROUP Or _
ADS_GROUP_TYPE_SECURITY_ENABLED
objGroup.SetInfo

en finalité je souhaiterais qu'il me créé 3 groupes PSE_NomGroup#_GG avec leurs descriptions

Merci de votre aide.

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
18 janv. 2010 à 00:27
Salut
Suffit de taper "CSV" dans la recherche parmi les codes (sauf .Net) et tu auras des dizaines d'exemples.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
freyer9153 Messages postés 2 Date d'inscription mercredi 17 septembre 2008 Statut Membre Dernière intervention 20 janvier 2010
20 janv. 2010 à 18:44
Bonjour,

finalement , j'ai trouvé la reponse a mon probleme (grace a un pote du boulot :ccool: ).

Donc pour ceux que ça intéresse, voici mon code:

en premier lieu mon fichier cvs contient:

NomGroupe1
NomGroupe2
NomGroupe3

ensuite le script:



Dim oFso, f, a, gg
gg= "_GG"
 
Const ForReading 1, ForWriting 2 
 
Const ADS_GROUP_TYPE_GLOBAL_GROUP = &h2
Const ADS_GROUP_TYPE_SECURITY_ENABLED = &h80000000
Set objOU = GetObject("LDAP://OU=Groupes,DC=COMMUN")
  
  Set oFso = CreateObject("Scripting.FileSystemObject")
  Set f = oFso.OpenTextFile("c:\donnee.cvs", ForReading)
  While Not f.AtEndOfStream
 
  a = f.readline
 
Set objGroup = objOU.Create("Group", "cn=PSE_" & a & gg)
objGroup.Put "sAMAccountName", "" & a & gg
objGroup.Put "description", "Utilisateurs de la ressource " & a
objGroup.Put "groupType", ADS_GROUP_TYPE_GLOBAL_GROUP Or _
    ADS_GROUP_TYPE_SECURITY_ENABLED
objGroup.SetInfo
 
Wend

en finalité, il ma créé 3 groupes PSE_NomGroupe#_GG avec pour description Utilisateurs de la ressource NomGroupe#
0
Rejoignez-nous