Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MAPPER UN LECTEUR RÉSEAU (CONNEXION ET DÉCONNEXION)


Information sur la source

Catégorie :Réseau & Internet Niveau : Débutant Date de création : 02/05/2002 Date de mise à jour : 29/04/2003 13:38:03 Vu : 16 878

Note :
8,5 / 10 - par 8 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


Description

En cherchant à mapper des lecteurs Réseaux sur mon serveur jai utilisé la bonne vieille commande Net USE. Donc je vous mets les 2 fonctions que jai développé dans ce cadre.  
 

Source

  • Public Function attendre(intervalle As String, indice As Integer) As Integer
  • Valeur = Time
  • tmp = DateAdd(intervalle, indice, Valeur)
  • Do While Time < tmp
  • Loop
  • End Function
  • Private Function connectServ(serv As string, Share AS string, Lettre AS string, Pass AS string, usr AS string )
  • Dim LigneCommande As String, val, retour As Integer
  • LigneCommande = "NET USE " & serv & ": \\" & Share & "\" & Lettre & " " & Pass & " /USER:" & usr & " /PERSISTENT:NO"
  • retour = Shell(LigneCommande, vbNormalFocus)
  • val = attendre("s", 5)
  • End Function
  • Private Function DisconnectServ(Lettre AS string)
  • Dim LigneCommande As String, val, retour As Integer
  • LigneCommande = "NET USE " & Lettre & ": /DELETE"
  • retour = Shell(LigneCommande, vbNormalFocus)
  • val = attendre("s", 5)
  • End Function
Public Function attendre(intervalle As String, indice As Integer) As Integer
    Valeur = Time
    tmp = DateAdd(intervalle, indice, Valeur)
    Do While Time < tmp
   
    Loop
End Function

Private Function connectServ(serv As string, Share AS string, Lettre AS string, Pass AS string, usr AS string )
    Dim LigneCommande  As String, val, retour As Integer
 
   LigneCommande = "NET USE " & serv & ": \\" & Share & "\" & Lettre & " " & Pass & " /USER:" & usr & " /PERSISTENT:NO"
    retour = Shell(LigneCommande, vbNormalFocus)
    val = attendre("s", 5)
End Function

Private Function DisconnectServ(Lettre AS string)
    Dim LigneCommande As String, val, retour As Integer
    LigneCommande = "NET USE " & Lettre & ": /DELETE"
    retour = Shell(LigneCommande, vbNormalFocus)
    val = attendre("s", 5)
End Function
  

Conclusion

C'est un petit truc en cas de besoin  

Romelard Fabrice (Alias F___)
 

Commentaires et avis

signaler à un administrateur
Commentaire de JLN le 27/02/2003 07:58:50

Pas mal du tout, je fais de la micro depuis 1980 et j'avais pourtant oublié en partie les extensions possibles de la command NET USE je pense que le DOS n'est pas complètement mort.... la preuve....

J'ai mis 10 pour ce rappel !

signaler à un administrateur
Commentaire de StephVBF le 17/03/2004 17:36:27

Je cherchais à faire cela en ce moment.
C'est bien de le faire avec le Net Use, c'est beaucoup plus simple.
Merci.
Stephane

signaler à un administrateur
Commentaire de Wam0106 le 03/05/2004 17:13:45

petite remaque sous DOSl'odre execution de la commande "NET USE" est:
NET USE x: \\srv\partage pwd /user:utilisateur /PERSISTENT:"YES" ou "NO"
avec :
"x:": la lettre du lect. reseau que l'on va créer
"\\srv": le pc auquel on se connecte
"\partage": le chemin du fichier partagé
"pwd": le mot de passe (si necessaire) a la connexiondu dossier partagé
"/user:utilisateur": le compte utilisateur qui se connecte
"/PERSISTENT:"YES" ou "NO"": le lecteur reseau se reconnecte au demarrage.

Si ce que j'avance se trouve etre vrai je crois que tu a fais une petite erreure dans l'ordre de ta fonction
"connectServ"
Si non desolé...

Wam0106

signaler à un administrateur
Commentaire de JLN le 03/05/2004 17:38:13

Exact il y a une erreur mais on aura modifié facilement. Wam0106 à eu l'oeil de linx.

Bonne Prog à tous

JLN

signaler à un administrateur
Commentaire de damdam04 le 11/08/2004 16:18:13

salut cool pour vos commentaire mais je cherche à récupérer en cas d'échec de connection les erreurs renvoyées par net use...
changed password serait un plus... ;-)
bonne continuation et bonne prog...
merci pour vos réponses
damdam04

signaler à un administrateur
Commentaire de neewby le 10/05/2006 11:16:00

Sympa cette petite source, elle m'as été bien utile en tout cas. Je ne suis pas un pro de DOS alors j'avoue que sur le coup ca m'aide bien :P

En tout cas cette source est clair pour moi, je mettrais 10 ^^

signaler à un administrateur
Commentaire de codea le 10/07/2006 17:06:26

ALL API .NET :

Private Declare Function WNetAddConnection Lib "mpr.dll" Alias "WNetAddConnectionA" (ByVal lpszNetPath As String, ByVal lpszPassword As String, ByVal lpszLocalName As String) As Long
Private Declare Function WNetCancelConnection Lib "mpr.dll" Alias "WNetCancelConnectionA" (ByVal lpszName As String, ByVal bForce As Long) As Long
Const WN_SUCCESS = 0 ' The function was successful.
Const WN_NET_ERROR = 2 ' An error occurred on the network.
Const WN_BAD_PASSWORD = 6 ' The password was invalid.
Function AddConnection(MyShareName As String, MyPWD As String, UseLetter As String) As Integer
    On Local Error GoTo AddConnection_Err
    AddConnection = WNetAddConnection(MyShareName, MyPWD, UseLetter)
AddConnection_End:
    Exit Function
AddConnection_Err:
    AddConnection = Err
    MsgBox Error$
    Resume AddConnection_End
End Function
Function CancelConnection(DriveLetter As String, Force As Integer) As Integer
    On Local Error GoTo CancelConnection_Err
    CancelConnection = WNetCancelConnection(DriveLetter, Force)
CancelConnection_End:
    Exit Function
CancelConnection_Err:
    CancelConnection = Err
    MsgBox Error$
    Resume CancelConnection_End
End Function
Private Sub Form_Load()
    'KPD-Team 1999
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net

    'to add a connection call by:
    variable = AddConnection(<SharePath>, <Password>, <DriveLetter>)
    'To cancel a connection type:
    varible = CancelConnection(<SharePath, <Force>)
End Sub

signaler à un administrateur
Commentaire de Demnat le 14/09/2006 22:46:05

Je lance un SOS sur le même sujet.
J'ai un programme VBA qui écrit sur un lecteur réseau. Avant d'ecrire il me faudra trouver le lecteur logique pour faire ChDrive "x" où 'x' correspond à celui de NET USE x: \\srv...
Je cherche la commande qui me donnera le "x" du lecteur réseau à partir de "\\srv..."
Merci d'avance.

signaler à un administrateur
Commentaire de scoubigee le 07/12/2006 09:53:15

Personnellement je procède différemment, je n'aime pas trop utiliser la commande net use, de par le fait qu'il faille "attendre" l'exécution de la commande, ce qui n'est pas terrible dans un développement !
Juste a titre d'info je met le lien d'une source que j'ai posté permettant de connecter/déconnecter un disque et d'en récupérer les erreurs!

http://www.vbfrance.com/code.aspx?ID=40622

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.