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

Résolu
My_Sic Messages postés 2 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 24 juillet 2007 - 24 juil. 2007 à 10:58
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 24 juil. 2007 à 12:41
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

jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 juil. 2007 à 11:07
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
3
My_Sic Messages postés 2 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 24 juillet 2007
24 juil. 2007 à 11:20
Rapide, simple et effiace.

Merci beaucoup.


J'y avais pensé en plus à cette librairie, mais j'avai pas vu la propriété ShareName.
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 26
24 juil. 2007 à 12:41
 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
0