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 script connexion lecteur réseau


Sujet :

VBScript

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Points : 89
    Points
    89
    Par défaut VBS script connexion lecteur réseau
    Bonjour à tous,

    J'ai un script qui me permet selon l'appartenance à un groupe de connecter un lecteur réseau. ce script utilise la structure conditionnelle case.

    Mon souci est que le premier case de mon script n'est pas pris en compte le deuxième fonctionne.

    Avez-vous une idée ?

    Merci


    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
    Dim objRootLDAP, objGroup, objUser, objOU, objmemberOf 
    Dim strOU, strUser, strDNSDomain, strLDAP, List, objADSysInfo,arr,intlength,intNamelength,strGroupName 
     
    ' Commands to bind to AD 
    Set objRootLDAP = GetObject("LDAP://RootDSE" ) 
    Set objNetwork = CreateObject("Wscript.Network" ) 
     
    'trouver le DN de l'utilisateur 
    Set objADSysInfo = CreateObject("ADSystemInfo" ) 
    strUser = objADSysInfo.UserName 
    Set objUser = GetObject("LDAP://" & strUser) 
     
     
    ' Extract a list of Groups from memberOf 
    objmemberOf  = objUser.GetEx("memberOf" ) 
    For Each objGroup in objmemberOf  
         List = List & objGroup & vbCr 
         arr=Split(List,"," ) 
         intlength=Len(arr(0)) 
         intNamelength=intlength - 3 
    Next 
    strGroupName= Right(arr(0), intNameLength) 
     
     
    'Connecter un lecteur en fonction du groupe 
    Select Case strGroupName 
            Case "GROUP1" 
                objNetwork.MapNetworkDrive "m:", "\\monserveur\GROUP1" 
     
            Case "GROUP2"  
                objNetwork.MapNetworkDrive "o:", "\\monserveur\GROUP2" 
     
    End Select 
     
    WScript.Quit

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 112
    Points : 16 646
    Points
    16 646
    Par défaut
    Salut

    le Next de ta boucle For Each objGroup in objmemberOf ne devrait il pas être à l'avant dernière ligne? , juste avant WScript.Quit

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Points : 89
    Points
    89
    Par défaut
    Bonjour Merci pour la réponse ProgElect

    En fait j ai changé de script car le case ne convient pas vu qu un utilisateur peut etre dans plusieurs groupe j utilise donc le un if INGROUP ...

    Mais je voudrais savoir du coup comment renommer mes lecteurs ?

    Merci

    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
    set WshShell = CreateObject("WScript.Shell")
    Set WshNetwork = WScript.CreateObject("WScript.Network")
     
     
    if WshShell.ExpandEnvironmentStrings("%OS%") <> "Windows_NT" then 
      WshShell.Run "COMMAND.EXE /C NET TIME \\BTW-USER1 /SET /Y >NUL:"
     
      DomainName=WshShell.RegRead("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSNP32\NetworkProvider\AuthenticatingAgent")
      Set UserObj = GetObject("WinNT://" & DomainName & "/" & WshNetwork.username)
     
      WshNetwork.MapNetworkDrive "U:",UserObj.HomeDirectory
    ' msgbox (UserObj.homeDrive)
    msgbox (UserObj.HomeDirectory)
     
    else
     
      DomainName=WshShell.ExpandEnvironmentStrings("%USERDOMAIN%")
      Set UserObj = GetObject("WinNT://" & DomainName & "/" & WshNetwork.username)
     
    end if
     
    'Init Groups
    Dim UserGroups
    Dim GroupObj
    UserGroups=""
    For Each GroupObj In UserObj.Groups 
      UserGroups=UserGroups & "[" & GroupObj.Name & "]" 
    Next
     
    if InGroup("TEST") then
      WshNetwork.MapNetworkDrive "T:","\\serveur\test"
     
    end if
     
    if InGroup("TEST2") then
      WshNetwork.MapNetworkDrive "T:","\\serveur\test2"
    end if
     
    if InGroup("TEST3") then
      WshNetwork.MapNetworkDrive "W:","\\serveur\test3"
    end if
     
    ' 
    Function InGroup(strGroup)
       InGroup=False
       If InStr(UserGroups,"[" & strGroup & "]") Then
             InGroup=True
       End If
    End Function

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Points : 89
    Points
    89
    Par défaut
    Bon j'ai trouvé tout seul en insérant cette ligne juste après la création du lecteur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set oShell = CreateObject("Shell.Application")
      oShell.NameSpace("R:\").Self.Name = "DOCUMENTS"

Discussions similaires

  1. Connexion lecteur réseau
    Par khayyam90 dans le forum Contribuez
    Réponses: 0
    Dernier message: 04/01/2011, 15h23
  2. Connexion lecteur réseau
    Par zouxbobo dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 08/06/2009, 15h16
  3. Connexion lecteur réseau
    Par hpascal dans le forum WinDev
    Réponses: 2
    Dernier message: 16/03/2009, 14h57
  4. Test Connexion Lecteur Réseau
    Par lito74 dans le forum Access
    Réponses: 1
    Dernier message: 23/06/2007, 21h39
  5. Réponses: 7
    Dernier message: 06/06/2006, 15h54

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