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

Windows Discussion :

Mappage réseau en VBS via GPO sous W2008


Sujet :

Windows

  1. #1
    Membre confirmé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 701
    Points : 597
    Points
    597
    Par défaut Mappage réseau en VBS via GPO sous W2008
    Salut à tous,

    J'ai refondu un script VBS pour monter via GPO les lecteurs réseau de notre société en fonction des appartenance des utilisateurs.

    Il fonctionne bien sur les XP et certain W7 mais sur d'autre il ne veut pas monter les lecteurs réseau. Pourtant lorsque je lance le script directement à la main depuis la racine GPO le script monte bien les lecteurs. c'est à ne rien y comprendre....

    Après analyse du script c'est la commande WSHNetwork.MapNetworkDrive qui semble ne pas se lancer ou aboutir.

    Pourriez-vous m'aider ?

    Ci-dessous le Script :

    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    '===============================================================================================
    'Network Login Script
    '===============================================================================================
    Dim oShell
    Dim iResult
    Dim iDebug
    Const ForReading = 1, ForWriting = 2
    Dim fso, f
    
    
    '=================================================
    ' Set Environment Variables
    '=================================================
    Set WSHNetwork = CreateObject("WScript.Network")
    Set WSHShell = CreateObject("WScript.Shell")
    Set objShell = CreateObject("Shell.Application")
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.OpenTextFile("C:\Windows\Temp\log.txt", ForWriting,true)
    
       
    On Error Resume Next
    
    Domain = WSHNetwork.UserDomain
    UserName = ""
    iDebug = True
    
    While UserName = ""
    	UserName = WSHNetwork.UserName
    	MyGroups = GetGroups(Domain, UserName)
    Wend
    
    
    ' Create Shell object
    Set oShell = CreateObject("Wscript.Shell")
    
    If iDebug then f.writeline(UserName)
    If iDebug then f.writeline(MyGroups)
    
    'Open message box Yes/No and test response
    'iResult = oShell.Popup("Montage des lecteurs", 5, "Lecteurs réseaux", 0)
    
    
    '=================================================
    'GIVES PC TIME TO DISCONNECT MAPPED DRIVES
    '=================================================
    WScript.Sleep(10000)
    
    
    '=================================================
    'Map Drives by Group
    '=================================================
    'USAGE:	MapDrive "X:", "\\SERVER\SHARE", "Drive Name"
    'NOTE: <HOMEDRIVE:> IS NOT TO BE MAPPED AS IT IS THE HOME DRIVE!!!
    
    '=================
    'domain.lan\Domain Users Drives:
    '=================
    If INGROUP ("Domain Users") Then
    	If iDebug then f.writeline("Domain Users")
    	If iDebug then f.writeline("Etape1 : OK")
    	MapDrive "Z:", "\\SRVPROD42\Commun", "Commun"
    	MapDrive "H:", "\\SRVPROD42\Utilisateurs$\"& UCase(UserName), "Home"
    	If iDebug then f.writeline("Etape2 : OK")
    End If
    
    '=================
    'domain.lan\GS-INFRA Drives:
    '=================
    If INGROUP ("GS-INFRA") Then
    	If iDebug then f.writeline("GS-INFRA")
    	MapDrive "P:", "\\domain-nas\DATA", "NAS-HISI"	
    End If
    
    
    If iDebug then f.writeline("Terminé")
    
    '=================================================
    'Exit Script
    '=================================================
    WScript.Quit
    
    '===============================================================================================
    'Subfunctions and Routines
    '===============================================================================================
    
    '=================================================
    'Function: GetGroups
    '=================================================
    Function GetGroups(Domain, UserName)
    	Set objUser = GetObject("WinNT://" & Domain & "/" & UserName)
    	GetGroups=""
    	For Each objGroup In objUser.Groups
    		GetGroups=GetGroups & "[" & UCase(objGroup.Name) & "]"
    	Next
    End Function
    
    '=================================================
    'Function: InGroup
    '=================================================
    Function InGroup(strGroup)
    	InGroup=False
    	If InStr(MyGroups,"[" & UCase(strGroup) & "]") Then
    		InGroup=True
    	End If
    End Function
    
    '=================================================
    ' MapDrives Subroutine
    '=================================================
    Sub MapDrive(sDrive,sShare,sName)
    	If iDebug then f.writeline("MapDrive1 : " & sName & " OK")
    	On Error Resume Next
    	WSHNetwork.RemoveNetworkDrive sDrive, 1, 1
    	WScript.Sleep(200)
    	Err.Clear
    	WSHNetwork.MapNetworkDrive sDrive, sShare
    	WScript.Sleep(300)
    	objShell.NameSpace(sDrive).Self.Name = sName
    	If iDebug then f.writeline("MapDrive2 : " & sShare & " OK")
    End Sub
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !


    Albert Einstein

  2. #2
    Membre confirmé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 701
    Points : 597
    Points
    597
    Par défaut
    J'avance ...

    Sur Windows 7 si la clé [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] enablelinkedconnections est à 0 ou inexistante les lecteurs ne montent pas via les GPO. Configurez la valeur de l'entrée de Registre EnableLinkedConnections sur 1 permet d'autoriser des processus élevés à accéder aux partages réseau.

    Par contre sous Windows 8 même cette astuce ne fonctionne pas ...

    Je replonge dans les méandre du NET à la recherche du graal
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !


    Albert Einstein

Discussions similaires

  1. [ASE 21.5.4] mappage des tables sybase 12.5 sous access 2003 via odbc
    Par dngaya dans le forum Adaptive Server Enterprise
    Réponses: 5
    Dernier message: 27/02/2008, 15h50
  2. lancer un vbs via un fichier bat sous windows98
    Par olaxius dans le forum VBScript
    Réponses: 5
    Dernier message: 07/12/2006, 11h54
  3. Souci de connexion internet via PPPoE sous Knoppix
    Par Anomaly dans le forum Réseau
    Réponses: 11
    Dernier message: 23/09/2004, 20h38
  4. [Process]Lancement d'applictions via bath sous Dos.
    Par juflata dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 22/06/2004, 14h03
  5. [cvs] Jbuilder 9, Cvs Via Ssh Sous Windows
    Par SurfingPoP dans le forum JBuilder
    Réponses: 3
    Dernier message: 13/02/2004, 15h57

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