donhatem
Messages postés412Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention30 décembre 2009
-
26 août 2008 à 19:40
cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 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
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
donhatem
Messages postés412Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention30 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.
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201259 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
donhatem
Messages postés412Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention30 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
' 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
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 "$"
cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 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<
donhatem
Messages postés412Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention30 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.