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 :

Mappage lecteurs réseaux selon groupe


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Points : 18
    Points
    18
    Par défaut Mappage lecteurs réseaux selon groupe
    bonjour,
    je débute en vbs j'aurai besoin d'un peu d'aide pour un script logon. il faut que le script mappe des lecteurs réseaux selon l'appartenance de l'utilisateur à tel ou tel groupe (une quinzaine de groupe en tout). j'ai essayé avec une boucle for each et select case mais bisarement il m'exécute systématiquement la partie dans le case else, j'ai pensé à des confitions if, mais pour une quinzaine de groupe en conditions ca fait bcp...
    quelqu'un pourrait il m'aider?
    merci

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Bonsoir,

    ton instruction Select case/ Case... doit être mal écrite ...

    malheureusement tu as oublié de la postée

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    oups c'est exact, voici la partie du code:

    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
    For Each strMemberOf in arrMemberOf
    			arrGroup = Split(strMemberOf,",")
    			strGroup = Mid(arrGroup(0),4)
    				Select Case strGroup 
    					Case "Groupe1"
    						objNetwork.MapNetworkDrive "G:" , strFileServer & "\labosoft"
    						drvG = 1		
    						objNetwork.MapNetworkDrive "I:" , strFileServer & "\groupwa$"
    						msgbox "drvG PVCS " & drvG
    					Case "Groupe2"
    						objNetwork.MapNetworkDrive "F:" , strFileServer & "\APPLIS"
    					Case "Groupe3"
    						objNetwork.MapNetworkDrive "H:" , strFileServer & "\CAO\DTC"
    					Case "Groupe4"
    						objNetwork.MapNetworkDrive "I:" , strFileServer & "\IDEP_CN8"
    					Case "Groupe5"
    						objNetwork.MapNetworkDrive "J:" , strFileServer & "\VTW"
    					Case "Groupe6"
    						objNetwork.MapNetworkDrive "S:" , strFileServer & "\VTW"
    					Case "Groupe7"
    						objNetwork.MapNetworkDrive "K:" , strFileServer & "\CAO-DEI"
    					Case "Groupe8"
    						objNetwork.MapNetworkDrive "L:" , strFileServer & "\Design"
    					Case "Groupe9"
    						objNetwork.MapNetworkDrive "N:" , strFileServer & "\comites"
    					Case "Groupe10"
    						objNetwork.MapNetworkDrive "R:" , strFileServer & "Archives_DEI"
    					Case "Groupe11"
    						objNetwork.MapNetworkDrive "V:" , strFileServer & "\GESCOF$"
    					Case "Groupe12"
    						objNetwork.MapNetworkDrive "V:" , strFileServer & "\EMC"
    					Case "Groupe13"
    						objNetwork.MapNetworkDrive "V:" , strFileServer & "\validation"
    					Case "Groupe14"
    						objNetwork.MapNetworkDrive "V:" , strFileServer & "\SQA_VSC"
    					Case "Groupe15"
    						objNetwork.MapNetworkDrive "W:" , strFileServer & "\Normes"
    					Case "Groupe16"
    						objNetwork.MapNetworkDrive "Y:" , strFileServer & "ECAD_Library"
    					Case "Groupe17"
    						objNetwork.MapNetworkDrive "Z:" , strFileServer & "\informatique$"
    					Case "Groupe18"
    						objNetwork.MapNetworkDrive "Q:" , strFileServer & "commun"
    					Case "Groupe19"
    						objNetwork.MapNetworkDrive "U:" , strFileServer & "\usercao$\" & strUserName , True
    						drvU = 1
    						objNetwork.MapNetworkDrive "O:" , strFileServer & "\cao"
     
    					Case Else
    						drvG = 0
    						drvU = 0
     
    				End Select
     
     
    		Next
     
    If drvG = 0 Then
    			objNetwork.MapNetworkDrive "G:" , strFileServer & "\groupwa$"
    		End If
    		If drvU = 0 Then
    			objNetwork.MapNetworkDrive "U:" , strFileServer & "\user$\" & strUserName , True
    		End If
     
    		objNetwork.MapNetworkDrive "P:" , strFileServer & "\projets"
    		objNetwork.MapNetworkDrive "X:" , strFileServer & "\tech$"
    		objNetwork.MapNetworkDrive "S:" , strFileServer & "\services"
    		objNetwork.MapNetworkDrive "T:" , strFileServer & "\transferts"
    Les lecteur P X S et T sont obligatoires pour tous
    Les lecteurs G et U peuvent pointer vers différents lecteurs, dépendant du groupe.

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    à l'aide de msgbox ou wscript.echo affiche le contenu de strGroup pour vérifier que tu à bien GroupeX où X représente un nombre.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    alors j'ai mis un msgbox comme tu dis et dans le Case Else
    par exemple, il affiche bien que je fais partie du Groupe17, mais ensuite il m'affiche le msgbox du Case Else. et là je ne comprend pas pourquoi, pourtant le Case Else est exécuté que si aucun des Case ne l'est, non?

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    alors j'ai mis un msgbox comme tu dis et dans le Case Else
    par exemple, il affiche bien que je fais partie du Groupe17, mais ensuite il m'affiche le msgbox du Case Else. et là je ne comprend pas pourquoi, pourtant le Case Else est exécuté que si aucun des Case ne l'est, non?

    Ah non au temps pour moi, l'utilisateur test ne faisait pas partie du groupe 17, donc normal qu'il passe par le Case Else.
    Mais le pb maintenant, c'est que pr un user du Groupe1, il devrait donc avoir le lecteur G

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Case "GRoupe1"
    						objNetwork.MapNetworkDrive "G:" , strFileServer & "\labosoft"
    						drvG = 1
    le flag est à 1, mais ensuite il m'indique une erreur comme quoi le lecteur G est déjà utilisé à cet endroit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If drvG = 0 Then
    			objNetwork.MapNetworkDrive "G:" , strFileServer & "\groupwa$"
    		End If
    il a pas pris en compte mon flag

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Points : 671
    Points
    671
    Par défaut
    Bonjour,

    Moi pour vérifier si je passe bien par une boucle ou un if ou un select,je mets un stop ,si je passe bien à l'endroit ou je veux le programme s'arrête sur le stop.
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Select Case strGroup 
    					Case "Groupe1"
    						objNetwork.MapNetworkDrive "G:" , strFileServer & "\labosoft"
    						drvG = 1		
    						objNetwork.MapNetworkDrive "I:" , strFileServer & "\groupwa$"
    						msgbox "drvG 
                          stop 'un stop ici :si le programme ne s'arrête pas ici c'est que le select n trouve pas "Groupe1" alors cherche l'erreur
     
    PVCS " & drvG
    					Case "Groupe2
    A+

  8. #8
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Merci pour vos contributions, j'ai réglé le pb
    j'ai abandonné le système de flag et plutôt utilisé un if en vérifiant l'existence d'un lecteur réseau (pourquoi n'y ai je pas penser avant?!)
    Le pb venait du fait qu'a chaque fois qu'un utilisateur se trouve dans un groupe non répertorié dans les Case, le code exécute automatiquement le Case Else et mettait dont le flag à 0, ce qui est normal

    ce qui donne:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	'If the user is not in Groupe1
    		If (objFSO.DriveExists("G:") = False) Then
    			objNetwork.MapNetworkDrive "G:" , strFileServer & "\groupwa$"
    		End If
     
    		'If the user is not in Groupe17
    		If (objFSO.DriveExists("U:") = False) Then
    			objNetwork.MapNetworkDrive "U:" , strFileServer & "\user$\" & strUserName , True
    		End If

  9. #9
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Ou bien tu met :
    avant la boucle et tu ne fait rien dans le case else.

    Dans ce cas drvG et drvU ne seront null que si tu n'es rentré dans aucun des case
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  10. #10
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    en effet ca pourrait répondre à la problematique aussi, merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/06/2012, 13h59
  2. Réponses: 0
    Dernier message: 24/03/2011, 15h45
  3. Mapper des lecteurs réseaux en fonction des groupes
    Par spike93 dans le forum VBScript
    Réponses: 3
    Dernier message: 26/03/2010, 09h49
  4. Réponses: 2
    Dernier message: 26/02/2008, 15h16
  5. bkup vers lecteur réseaux
    Par SILO dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 31/01/2006, 14h22

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