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 :

VBS / Création de groupe de sécurity local depuis un fichier.txt


Sujet :

VBScript

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 686
    Points : 716
    Points
    716
    Par défaut VBS / Création de groupe de sécurity local depuis un fichier.txt
    Bonjour,

    J'essaie désespérément de créer une liste de groupes dans notre active directory depuis un fichier texte.
    Pourquoi ?
    Nos developpeurs développent une application et définissent les droits pour des groupes. Une fois la liste obtenu nous avons en charge de créer les groupes de l'AD. Comme l'erreur est humaine, j'aimerai depuis un VBS créer l'ensemble des groupes en 2 clics ... héhé.

    Aujourd'hui, je suis capable de créer mon/mes groupes par un script mais cela m'oblige à multiplier les modifications dans le script et donc les possibles erreurs humaines.
    Ce que je ne sais pas faire c'est ligne par ligne le fichier et à chaque ligne effectuer l'action suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    objGroup.Put "sAMAccountName", "GroupeName"
    objGroup.Put "groupType", ADS_GROUP_TYPE_LOCAL_GROUP Or _
        ADS_GROUP_TYPE_SECURITY_ENABLED
    objGroup.SetInfo
    J'imagine dans un loop, avec un do until jusuq'à la fin du fichier mais n'étant pas du tout proche de l'écriture des scripts je suis perdu.

    Ô secours Obiwan

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 686
    Points : 716
    Points
    716
    Par défaut
    Je me suis fait largement aider sur ce script, voici le résultat

    Pour ceux que ça intéresse, je le place et ferme le post

    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
    Const ADS_GROUP_TYPE_LOCAL_GROUP = &h4
    Const ADS_GROUP_TYPE_SECURITY_ENABLED = &h80000000
    projet = inputbox("Projet :")
    OUprojet = "OU=" & projet 
    OUexist = "False"
     
    Set objOus = GetObject("LDAP://ou=Symfony,dc=test,dc=lan1")		
    objOus.filter = array("organizationalUnit")
     
    booExists = "FALSE"
     
    Const ForReading = 1, ForWriting = 2 
    Dim oFso, f
    Set oFso = CreateObject("Scripting.FileSystemObject")
    Set f = oFso.OpenTextFile("c:\tmp\fichier1.txt", ForReading)
    while Not f.AtEndOfStream 
    	GroupName = f.ReadLine 
    	CnGroupName = "CN=" & GroupName
    	For Each objOu In objOus
    		IF OUprojet = objOu.Name then
    			OUexist = "True"
    		end if	 
    		Set objGroupExiste = GetObject("LDAP://" &  objOu.Name & ",ou=Symfony,dc=test,dc=lan1")
    		objGroupExiste.filter = array("group")
    		For Each objgroup In objGroupExiste
     			If booExists = "FALSE" Then
            			strGroupName = objgroup.Name 
    				If strGroupName = CnGroupName Then
                    			booExists = "TRUE"
    					wscript.echo "Le groupe " & GroupName & " existe déjà"
     	 			End If
    			End if
    		Next
    	next
     
    	if OUexist = "False" Then
    		Set objOu= GetObject("LDAP://ou=Symfony,dc=test,dc=lan1")
    		Set objOuCreate = objOu.Create("organizationalUnit", OUprojet)	
    		objOuCreate.SetInfo
    	end if
    	Set obj = GetObject("LDAP://ou=" & projet &",ou=Symfony,dc=test,dc=lan1")
    	if booExists = "FALSE" Then		
    		Set objGroup = obj.Create("Group", CnGroupName )
    		objGroup.Put "sAMAccountName", 	GroupName
    		objGroup.Put "groupType", ADS_GROUP_TYPE_LOCAL_GROUP Or _
       		ADS_GROUP_TYPE_SECURITY_ENABLED
    		wscript.echo "Groupe créé " &  	GroupName
    		objGroup.SetInfo
    	end if
    	booExists = "FALSE" 
    Wend
    f.Close

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/07/2008, 09h14
  2. Réponses: 3
    Dernier message: 08/02/2008, 16h47
  3. Réponses: 4
    Dernier message: 10/09/2007, 12h05
  4. Lecture depuis un fichiers txt
    Par mask91 dans le forum C++
    Réponses: 15
    Dernier message: 04/03/2007, 22h40
  5. [FLASH MX] Variables depuis un fichier txt
    Par mascagne dans le forum Flash
    Réponses: 4
    Dernier message: 01/03/2006, 17h57

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