Récupérer la lettre de connexion d'une lecteur réseau [Résolu]

Signaler
Messages postés
2
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2007
-
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
-
Bonjour,


Voilà mon problème.

Je souhaite accéder à un disque réseau distant en visual basic (plus précisement en VBA).

L'accès direct en utilisant l'adrese "\\serveur\mondisque\monfichier.ext" fonctionne.


Mais le problème c'est qu'à cause de certaines sécurités et de nombreux
paramètres aléatoires non identifiés, la durée d'accès au fichier et
comprise entre 1s et 30 minutes !!!

Alors que si je monte amnuellement sous windows le disque réseau, sur
L: par exemple, et que je tente d'accéder à "L:\monfichier.ext" 
ça me prend 1s.


Le problème est que mon script doit être valable pour tous les pc du
réseau et pour tous les utilisateurs, et que donc il m'est impossible,
d'imposer une lettre de montage à tous (il y en a plus une seul de
disponible).

Donc comment faire pour détecter sur quel lettre, l'utilisateur actuel, a monter le lecteur réseau \\serveur\mondisque ???

La solution de monter moi même le lecteur réseau sur une lettre
disponible ne me convient pas, il s'agit d'une réseau de très grande
entreprise, très surchargé, dont le montage est vraiment long.


Merci pou votre aide

3 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,
Regarde ceci.
Dim Fso As Object
Dim Dr As Object
   Set Fso = CreateObject("Scripting.FileSystemObject")
   For Each Dr In Fso.Drives
       Call MsgBox(Dr.DriveLetter & " " & Dr.ShareName)
   Next , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
2
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2007

Rapide, simple et effiace.

Merci beaucoup.


J'y avais pensé en plus à cette librairie, mais j'avai pas vu la propriété ShareName.
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonjour à tous

Salut Julien,
Personnellement, j'utilise NetWork et la collection EnumNetworkDrives pour
énumérer les lecteurs réseaux mappés (et MapNetworkDrive pour mappé).
Celà doit surement être simple à translater en vb6.

Set WshNetwork = WScript.CreateObject("WScript.Network")
Set oDrives = WshNetwork.EnumNetworkDrives

For i = 0 to oDrives.Count - 1 Step 2    msg "Lecteur " & oDrives.Item(i) & " " & oDrives.Item(i+1) &vbcrLf& msg
Next
msgbox msg

Set WshNetwork = Nothing
Set oDrives = Nothing

Bonne journée,
@+.
jean-marc