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 disques aléatoires au LOGON sur RDS


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 37
    Points : 17
    Points
    17
    Par défaut Mappage disques aléatoires au LOGON sur RDS
    Bonjour,

    J'ai le script ci-dessous qui se lance à l'ouverture de session par GPO sur un serveur RDS 2012.

    Le problème est qu'il ne lance pas tous les lecteurs qu'il devrait alors qu'il n'y a pas d'erreur dans mon script.

    De plus d'une ouverture de session à l'autre il monte certains lecteurs et pas d'autres.

    Le disque T: ne monte jamais alors que les personnes y ont droit.

    J'ai commenté le démontage des disque avant mappage car j'avais vu sur un forum que ça pouvait être l'origine du problème. Mais ça n'a rien résolu.

    Avez-vous une piste sur ce comportement que je ne comprends pas ?

    Anciennement ce script était en KIXTART, je l'ai traduit en VBS mais ça ne fonctionne pas !

    Merci pour vos remarques.



    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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    ' ********************************************************************
    ' Script to MAP users disks for ALL CHACAL iX ENVIRONMENTS and merge 
    ' putty registry and rsa_key at logon
    ' ********************************************************************
    Option Explicit
    Dim domainName,userName,ADSPath,grouplistD,GrpName,groupName
    Dim objUser,objGroup,WshNetwork,wshShell,strComputerName  
     
    ' *****************************************************
    ' GET %USERNAME% to initialize username variable
    ' *****************************************************
    Set WshNetwork = WScript.CreateObject("WScript.Network") 
    Set wshShell = CreateObject("WScript.Shell")
     
    'WScript.Echo "Computer Name: " & strComputerName
     
    GrpName= Array("GRPINFO","GRPCOMDPC","GRPGSBEXPORT","GRPGXF","GRPSUPCHAIN","GRPACHATS","GRPGESTION")
    domainName = "mydomain.com"
    userName = WshNetwork.UserName
    strComputerName = WshNetwork.ComputerName
     
    Select Case strComputerName
    	Case "V2K12RDS14"  	'DEV
    		WSHShell.Run "cmd /c \\DC01\NETLOGON\PuttyDEV.cmd"
    	Case "V2K12RDS11"	'PRD
    		WSHShell.Run "cmd /c \\DC01\NETLOGON\PuttyDIAPPROD.cmd"
    	Case "V2K12RDS12"	'PRD
    		WSHShell.Run "cmd /c \\DC01\NETLOGON\PuttyDIAPPROD.cmd"
    	Case "V2K12RDS13"	'PRD
    		WSHShell.Run "cmd /c \\DC01\NETLOGON\PuttyDIAPPROD.cmd"
    	Case "V2K12RDS8"	'REC	
    		WSHShell.Run "cmd /c \\DC01\NETLOGON\PuttyDIAP5.cmd"
    	Case "V2K12RDS15"	'REC-TMP
    		WSHShell.Run "cmd /c \\DC01\NETLOGON\PuttyDIAP7.cmd"
    	Case Else
    End Select
     
    ' WSHShell.Run " net Use Q: /Delete"
    Wshshell.run "net use Q: \\V2K12NAS\Chacal_Data$"
     
    ' WSHShell.Run "net Use V: /Delete"
    Wshshell.run "net use V: \\VLNXDIAP1\CHACAL_PDF"
     
    For each groupName in GrpName
                 If IsMember(domainName,userName,groupName) Then
    				' WSHShell.Run "net Use U: /Delete"
    				wshshell.run "net use U: \\NASGFX\USERS"
    			Else
    			End If
    Next
     
    If IsMember(domainName,userName,"GRPPARIS") Then
    				' WSHShell.Run "net Use U: /Delete"
    				wshshell.run "net use U: \\G2K16PAR01\USERS"
    Else
    End If				
     
    If IsMember(domainName,userName,"GRPPRODDPC") Then
    				' WSHShell.Run "net Use U: /Delete"
    				wshshell.run "net use U: \\V2K12MTL01\USERS"
    Else
    End If
     
    If IsMember(domainName,userName,"GRP_ESPACE_COMMERCIAL_CHANTIER") Then
    				' WSHShell.Run "net Use T: /Delete"
    				wshshell.run "net use T: \\NASGFX\AgencesDPCSav"
    Else
    End If
     
     
    WScript.quit
     
    ' ***********************************************************************
    'This function checks if the given AD user is member of the given group.
    ' ***********************************************************************
     
    Function IsMember(domainName,userName,groupName)
       Set groupListD = CreateObject("Scripting.Dictionary")
       groupListD.CompareMode = 1
       ADSPath = domainName & "/" & userName
       Set objUser = GetObject("WinNT://" & ADSPath & ",user")
       For Each objGroup in objUser.Groups
          groupListD.Add objGroup.Name, "-"
       Next
       IsMember = CBool(groupListD.Exists(groupName))
     End Function

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 37
    Points : 17
    Points
    17
    Par défaut
    Après avoir analysé, il s'avère que c'est la fonction IsMember qui pose problème.

    Quel script IsMemvber utilisez vous pour contrôler l'appartenance d'un utilisateur du domaine à un groupe spécifique ?

    Merci pour votre retour.

  3. #3
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 296
    Points : 3 549
    Points
    3 549
    Par défaut
    bonjour,

    si ton script ne désactive pas ailleurs la gestion des erreurs (On Error Resume Next)
    le plus vraisemblable est que la valeur de la variable groupName qui est codée en dur
    dans ce script ne soit pas exactement égale à objGroup.Name

    de toute façon je laisserais tomber la fonction IsMember pour la remplacer par ceci :
    (exemple pour les lignes 64/68)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If  GetObject("WinNT://" & domainName & "/GRP_ESPACE_COMMERCIAL_CHANTIER,Group").IsMember("WinNT://" & domainName & "/" & userName) Then		
         wshshell.run "net use T: \\NASGFX\AgencesDPCSav"
    End If
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 37
    Points : 17
    Points
    17
    Par défaut
    Merci pour ton retour,

    J'ai essayé ton script mais il me sort une erreur sur un nom de GROUPE alors que ce groupe est bien dans l'Active Directory et qu'il n'y a pas d'erreur de syntaxe.

    Nom : 1.JPG
Affichages : 123
Taille : 19,2 Ko

    Sais tu d'ou vient le problème ?

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 37
    Points : 17
    Points
    17
    Par défaut
    En fait, le "Nom de groupe (Anterieur a Windows 2000)" du groupe Active Directory était différent du nom de groupe afficher dans l'AD.

    Je l'ai renommé et ça fonctionne merci encore pour ton aide.

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

Discussions similaires

  1. Changer de Logon sur Outlook
    Par louf99 dans le forum C++
    Réponses: 4
    Dernier message: 03/01/2008, 14h45
  2. disque dur sata II sur carte mère sata I
    Par davidc dans le forum Composants
    Réponses: 1
    Dernier message: 17/11/2007, 15h00
  3. disque dur non detecté sur HP DV 9000
    Par hicham_alaoui1 dans le forum Windows XP
    Réponses: 3
    Dernier message: 22/09/2007, 17h38
  4. [Disque dur]Le système sur WD Raptor ou pas?
    Par TanKer dans le forum Composants
    Réponses: 2
    Dernier message: 28/08/2007, 16h00
  5. Réponses: 4
    Dernier message: 25/04/2007, 20h18

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