Connexion lecteur réseau

donhatem Messages postés 412 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 30 décembre 2009 - 26 août 2008 à 19:40
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 27 août 2008 à 10:30
Bonsoir,
je suis nul en programmation, je veux créer un fichier vbs qui m'aide à connecter des lecteurs réseaux
je sais que le code est comme celui là :

Dim oNet
Set oNet = CreateObject("Wscript.Network")
oNet.MapNetworkDrive "Z:", "\\toto\repertoire partagé"
WSCript.Quit

ça c'est juste pour un seul lecteur, est ce qu'il faut déclarer d'autres variables pour connecter d'autres lecteurs réseaux ?
comment
puis-je faire pour tester si la connexion existe déjà, donc la commande
ne sera pas exécutée, sinon, elle s'exécute. Merci pour votre aide

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
26 août 2008 à 20:00
Salut
Peut-être en envoyant une simple commande DIR
Si la commande s'exécute normalement, tu es connecté
Si tu n'obtiens rien ou si tu passes en erreur, c'est que tu n'est pas connecté

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
donhatem Messages postés 412 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 30 décembre 2009
26 août 2008 à 20:14
j'ai cru dire que je suis "NUL" en programmation
0
donhatem Messages postés 412 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 30 décembre 2009
26 août 2008 à 20:46
avec une certaine logique, je pense que je dois trouver un code pour lister les lecteurs réseaux et puis s'il y a la lettre du lecteur (du genre Z:) donc la commande ne sera pas exécutée sinon on exécute la commande de connexion du lecteur réseau.
Merci pour votre aide.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
27 août 2008 à 08:41
Salut,

>[auteur/DONHATEM/1068173.aspx donhatem] : le fait de préciser que tu sois "nul" en programmation ne Dot pas t'empêcher d'apprendre les bons réflexes. On te propose Dir()... fait une recherche sur Internet pour savoir ce qu'il en est ....

le fait de préciser que tu sois "nul" en programmation ne doit pas pour autant te donner une excuse pour que l'on te donne un code tout fait.

Si tu souhaites un code tout fait, le fait que tu sois "nul" en programmation n'a rien à voir avec le manque de courage pour effectuer une recherche. ce site possède une section CODE ainsi qu'un moteur de recherche... tu y aurait trouver ceci: [codes/TESTER-SI-LECTEUR-RESEAU-NON-EST-ACCESSIBLE-EXISTE_354.aspx TESTER SI UN LECTEUR (RESEAU OU NON) EST ACCESSIBLE ET/OU EXISTE]

A bon entendeur salut

@+: Ju£i€n
Pensez: Réponse acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
27 août 2008 à 09:04
Dim oNet
Set oNet = CreateObject("Wscript.Network")

oNet.MapNetworkDrive "Z:", "\\toto\repertoire partagé"
oNet.MapNetworkDrive "Y:", "\\banane\autre repertoire partagé"

WSCript.Quit
_________________________________________________________________________
VB.NETis good ...VB6is better<
0
donhatem Messages postés 412 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 30 décembre 2009
27 août 2008 à 09:14
j'ai fait des recherches, j'ai trouver ce code, il était pour un seul lecteur, je l'ai amélioré pour pouvoir se connecter à plusieurs lecteurs réseau (et c'est déjà pas mal pour un nul) :

Option Explicit
Dim strDriveLetter, strRemotePath
Dim strDriveLetter1, strRemotePath1
Dim strDriveLetter2, strRemotePath2
Dim strDriveLetter3, strRemotePath3
Dim strDriveLetter4, strRemotePath4
Dim strDriveLetter5, strRemotePath5
Dim strDriveLetter6, strRemotePath6
Dim strDriveLetter7, strRemotePath7
Dim strDriveLetter8, strRemotePath8
Dim strDriveLetter9, strRemotePath9

Dim objNetwork, objShell
Dim CheckDrive, AlreadyConnected, intDrive

'recuperation du username
Dim WshNet
Dim User
Set WshNet = CreateObject("WScript.Network")
User = WshNet.Username

' The section sets the variables.
strDriveLetter = "F:"
strRemotePath = "\\serveur1\partage1"
strDriveLetter1 = "G:"
strRemotePath1 = "\\\serveur1\partage2"
strDriveLetter2 = "H:"
strRemotePath2 = "\\\serveur1\partage3"
strDriveLetter3 = "I:"
strRemotePath3 = "\\\serveur1\partage4"
strDriveLetter4 = "L:"
strRemotePath4 = "\\\serveur1\partage5"
strDriveLetter5 = "R:"
strRemotePath5 = "\\serveur1\partage6"
strDriveLetter6 = "S:"
strRemotePath6 = "\\\serveur1\partage7"
strDriveLetter7 = "T:"
strRemotePath7 = "\\serveur1\partage8"
strDriveLetter8 = "U:"
strRemotePath8 = "\\serveur1\User$"
strDriveLetter9 = "W:"
strRemotePath9 = "\\serveur1\partage9"

' This sections creates two objects:
' objShell and objNetwork and counts the drives
Set objShell = CreateObject("WScript.Shell")
Set objNetwork = CreateObject("WScript.Network")
Set CheckDrive = objNetwork.EnumNetworkDrives()

' This section deals with a For ... Next loop
' See how it compares the enumerated drive letters
' with strDriveLetter
On Error Resume Next
AlreadyConnected = False
For intDrive = 0 To CheckDrive.Count - 1 Step 2
If CheckDrive.Item(intDrive) =strDriveLetter _
Then AlreadyConnected =True
If CheckDrive.Item(intDrive) =strDriveLetter1 _
Then AlreadyConnected =True
If CheckDrive.Item(intDrive) =strDriveLetter2 _
Then AlreadyConnected =True
If CheckDrive.Item(intDrive) =strDriveLetter3 _
Then AlreadyConnected =True
If CheckDrive.Item(intDrive) =strDriveLetter4 _
Then AlreadyConnected =True
If CheckDrive.Item(intDrive) =strDriveLetter5 _
Then AlreadyConnected =True
If CheckDrive.Item(intDrive) =strDriveLetter6 _
Then AlreadyConnected =True
If CheckDrive.Item(intDrive) =strDriveLetter7 _
Then AlreadyConnected =True
If CheckDrive.Item(intDrive) =strDriveLetter8 _
Then AlreadyConnected =True
If CheckDrive.Item(intDrive) =strDriveLetter9 _
Then AlreadyConnected =True

Next

' This section uses the If = then, else logic
' This tests to see if the Drive is already mapped.
' If yes then disconnects
If AlreadyConnected = True then
objNetwork.RemoveNetworkDrive strDriveLetter
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath
objNetwork.RemoveNetworkDrive strDriveLetter1
objNetwork.MapNetworkDrive strDriveLetter1, strRemotePath1
objNetwork.RemoveNetworkDrive strDriveLetter2
objNetwork.MapNetworkDrive strDriveLetter2, strRemotePath2
objNetwork.RemoveNetworkDrive strDriveLetter3
objNetwork.MapNetworkDrive strDriveLetter3, strRemotePath3
objNetwork.RemoveNetworkDrive strDriveLetter4
objNetwork.MapNetworkDrive strDriveLetter4, strRemotePath4
objNetwork.RemoveNetworkDrive strDriveLetter5
objNetwork.MapNetworkDrive strDriveLetter5, strRemotePath5
objNetwork.RemoveNetworkDrive strDriveLetter6
objNetwork.MapNetworkDrive strDriveLetter6, strRemotePath6, true
objNetwork.RemoveNetworkDrive strDriveLetter7
objNetwork.MapNetworkDrive strDriveLetter7, strRemotePath7
objNetwork.RemoveNetworkDrive strDriveLetter8
objNetwork.MapNetworkDrive strDriveLetter8, strRemotePath8
objNetwork.RemoveNetworkDrive strDriveLetter9
objNetwork.MapNetworkDrive strDriveLetter9, strRemotePath9

' The first message box
objShell.PopUp "Drive " & strDriveLetter & _
", " & strDriveLetter1 & _
", " & strDriveLetter2 & _
", " & strDriveLetter3 & _
", " & strDriveLetter4 & _
", " & strDriveLetter5 & _
", " & strDriveLetter6 & _
", " & strDriveLetter7 & _
", " & strDriveLetter8 & _
", " & strDriveLetter9 & _
" Disconnected, then connected successfully."
Else
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath
objNetwork.MapNetworkDrive strDriveLetter1, strRemotePath1
objNetwork.MapNetworkDrive strDriveLetter2, strRemotePath2
objNetwork.MapNetworkDrive strDriveLetter3, strRemotePath3
objNetwork.MapNetworkDrive strDriveLetter4, strRemotePath4
objNetwork.MapNetworkDrive strDriveLetter5, strRemotePath5
objNetwork.MapNetworkDrive strDriveLetter6, strRemotePath6
objNetwork.MapNetworkDrive strDriveLetter7, strRemotePath7
objNetwork.MapNetworkDrive strDriveLetter8, strRemotePath8
objNetwork.MapNetworkDrive strDriveLetter9, strRemotePath9

objShell.PopUp "Drive " & strDriveLetter & _
", " & strDriveLetter1 & _
", " & strDriveLetter2 & _
", " & strDriveLetter3 & _
", " & strDriveLetter4 & _
", " & strDriveLetter5 & _
", " & strDriveLetter6 & _
", " & strDriveLetter7 & _
", " & strDriveLetter8 & _
", " & strDriveLetter9 & _
" connected successfully." End if
WScript.Quit
'----------------------------------------'

il me reste un seul souci :récupérer le username du poste et l'insérer pour l'utiliser dans la connexion du lecteur réseau U: (c'est une redirection de "mes documents"), j'ai fait ça :

'recuperation du username

Dim WshNet

Dim User

Set WshNet = CreateObject("WScript.Network")

User = WshNet.Username
.
.
.
.
strDriveLetter8 = "U:"

strRemotePath8 = "\\serveur11\User$"

mais ça marche pas, sachant que le dossier est caché, donc il faut le "$"

merci de me donner quelques indications.
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
27 août 2008 à 09:17
1) Le code que tu as posté a été codé par une clette (désolé y'a pas d'autre mot).
2) Pour récupérer le nom d'utilisateur, tu peux faire comme ceci :

'Récupération du UserName
Dim WshNet 'As Object
Dim User 'As String
Set WshNet = CreateObject("WScript.Network")
User = WshNet.Username
.
.
.
.
strDriveLetter8 = "U:"
strRemotePath8 = "\\serveur11" & User & "$"
_________________________________________________________________________
VB.NETis good ...VB6is better<
0
donhatem Messages postés 412 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 30 décembre 2009
27 août 2008 à 09:24
ben comme j'ai dit que je suis nul, j'ai pas pu faire mieux, car celui qui a fait ça, il l'a fait pour un seul lecteur réseau et moi j'ai rajouter le reste et j'ai aussi rajouter le fait de récupérer le username... si tu peux m'aider à l'améliorer tant mieux. Merci.
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
27 août 2008 à 10:30
C'est \\serveur1 ou \\serveur11 ?
_________________________________________________________________________
VB.NETis good ...VB6is better<
0
Rejoignez-nous