begin process at 2012 02 04 12:29:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > MAPPER UN DISQUE RÉSEAU

MAPPER UN DISQUE RÉSEAU


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Source .NET ( DotNet ) Classé sous :mapper, disque, réseau, monter, connecter Niveau :Débutant Date de création :07/12/2006 Vu :23 235

Auteur : scoubigee

Ecrire un message privé
Commentaire sur cette source (20)
Ajouter un commentaire et/ou une note

 Description

Ce code permet de mapper un disque réseau, on peut également indiquer le nom d'utilisateur et son mot de passe pour la connection au disque !
Déroulement du code :
- vérification de l'existence d'un disque à la lettre spécifié
- si il n'existe pas mappe le disque à cette lettre
- si il existe deconnection du disque et connection du nouveau

J'utilise ce code dans mes traitements qui ont besoin de récupérer ou déposer des fichiers sur des  disques réseaux.
Je mappe les disques à partir du code car en les mappant "manuellement" dans l'explorateur il arrivait souvent au bout d'un certains que les disques "sautent", ainsi je remappe les disques de manières automatique à chaque utilisation de mes traitements !

Je trouve cette manière plus pratique qu'utiliser le net use, de plus la remontée d'erreur est vraiment performante, je sais quand :
- le compte utilisateur est bloqué
- le disque est mappé sur une autre lettre
- le chemin réseau est introuvable, etc...

Source

  • Function MapDisk(ByVal DriveMap As Object, ByVal Path As Object)
  • 'Déclaration des objets
  • Dim objNet, objFSO As Object
  • Try
  • 'Instanciation des objets
  • 'objFSO = CreateObject("Scripting.FileSystemObject")
  • objNet = CreateObject("Wscript.Network")
  • 'Vérifie si le lecteur ("H:" par exemple) existe
  • If Not objFSO.DriveExists(DriveMap) Then
  • 'il n'existe pas on le mappe
  • objNet.MapNetworkDrive(DriveMap, Path, "true", "user", "password")
  • 'objNet.MapNetworkDrive(lettre,chemin de type "\\10.0.2.44\Partage",reconnection au démarrage du pc,utilisateur,mot de passe)
  • 'Il n'est pas obligatoire d'indiquer l'utilisateur et le mot de passe selon les droits du disque à monter
  • Else
  • 'il existe alors on le démappe et on le remappe (si c'est le même lecteur permet de réactiver le disque)
  • objNet.RemoveNetworkDrive(DriveMap, True)
  • objNet.MapNetworkDrive(DriveMap, Path, "true", "user", "password")
  • End If
  • Catch err As System.Exception
  • 'Capture de l'erreur éventuelle
  • MsgBox("Map->" + DriveMap + Path + " || " + err.ToString)
  • End Try
  • End Function
    Function MapDisk(ByVal DriveMap As Object, ByVal Path As Object)
        'Déclaration des objets
        Dim objNet, objFSO As Object

        Try
            'Instanciation des objets
            'objFSO = CreateObject("Scripting.FileSystemObject")
            objNet = CreateObject("Wscript.Network")
            'Vérifie si le lecteur ("H:" par exemple) existe
            If Not objFSO.DriveExists(DriveMap) Then
                'il n'existe pas on le mappe
                objNet.MapNetworkDrive(DriveMap, Path, "true", "user", "password")
                'objNet.MapNetworkDrive(lettre,chemin de type "\\10.0.2.44\Partage",reconnection au démarrage du pc,utilisateur,mot de passe)
                'Il n'est pas obligatoire d'indiquer l'utilisateur et le mot de passe selon les droits du disque à monter
            Else
                'il existe alors on le démappe et on le remappe (si c'est le même lecteur permet de réactiver le disque)
                objNet.RemoveNetworkDrive(DriveMap, True)
                objNet.MapNetworkDrive(DriveMap, Path, "true", "user", "password")
            End If
        Catch err As System.Exception
            'Capture de l'erreur éventuelle
            MsgBox("Map->" + DriveMap + Path + " || " + err.ToString)
        End Try
    End Function

 Conclusion

N'hésitez pas de laisser vos commentaires !
Tout code est perfectible !!!!


 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) NAVIGATEUR WEB TRANSPARENT
Source avec Zip Source avec une capture Source .NET (Dotnet) REDIMENSSIONER DES IMAGES EN MASSES (RÉSOLUTION & TAUX DE CO...
Source .NET (Dotnet) VÉRIFIER SI UNE APPLICATION EST LANCÉ, SINON ON LA DÉMARRE !
Source avec Zip Source .NET (Dotnet) DLL DE TRACE POUR EFFECTUER LE LOG DES APPLICATIONS (ÉCRITUR...
Source avec Zip Source .NET (Dotnet) DLL DE CONVERSION D'UN FORMAT DE FICHIER VERS UN AUTRE : UTF...

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) MODIFIER LES EXTENSION DES FICHIERS par okosa
ROUTINE DIR RÉCURSIVE POUR OBTENIR LA LISTE DE TOUS LES FICH... par kerisolde
Source avec Zip Source avec une capture FILE,SECURITY,FICHIER par okosa
Source avec Zip Source avec une capture Source .NET (Dotnet) PATCHEUR DE FICHIER par tototh
Source avec Zip Source avec une capture LECTURE DES INFORMATIONS DES DISQUES COMPOSANT UN ENSEMBLE R... par jack

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) LECTURE DES ATTRIBUTS SMART D'UN DIQUE DUR INTERNE, USB OU R... par ShareVB
Source avec Zip Source avec une capture CONSTRUCTION D'UNE ARBORESCENCE DOSSIERS DISQUE DANS UNE LIS... par lerouge
Source avec Zip Source avec une capture Source .NET (Dotnet) COMMUNICATION TCP CLIENT-SERVEUR ASYNCHRONE par anadom
Source avec Zip Source avec une capture Source .NET (Dotnet) INFORMATIONS SUR LES INTERFACES RÉSEAUX par Mayzz
Source avec Zip Source avec une capture Source .NET (Dotnet) UTILITAIRE DE SANITIZATION DES DISQUES DURS/FICHIERS (SUPPRE... par violent_ken

Commentaires et avis

Commentaire de Willi le 07/12/2006 15:11:00 administrateur CS

Par API c'est pas mal aussi... plus précisement avec WNetAddConnection2
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wnet/wnet/wnetaddconnection2.asp

++

Commentaire de scoubigee le 07/12/2006 16:02:16

Ah vi je m'y pencherai dessus à l'occase tiens !

Merci pr le lien !

Commentaire de hvb le 07/12/2006 17:57:55

Willi : en .net, autant utiliser les fonctions prevues a cette effet dans le framework, comme il l'a fait... nan?

Commentaire de Willi le 07/12/2006 21:14:21 administrateur CS

Euh... ce code n'exploite pas du tout le framework... ? Quelles sont ces fonctions dont tu parles HVB ?

Commentaire de hvb le 07/12/2006 23:35:40

17h57, 3mn avant la fin du taf... j'avoue avoir seulement survolé la source et n'ai pas vu (regardé même :/) le type de l'objet... ^^'
a quand une fonction supprimer ses propres commentaires...!

Commentaire de Patrice99 le 08/12/2006 13:21:34

> Je mappe les disques à partir du code car en les mappant "manuellement" dans l'explorateur il arrivait souvent au bout d'un certains que les disques "sautent"

Ce n'est pas normal. Si tu coches "Se reconnecter à l'ouverture de session", une lettre de lecteur réseau persiste sans aucun problème pendant plusieurs années (même si la connexion est parfois inaccessible). Si tu perds cette lettre de lecteur au redémarrage de Windows en ayant coché la case, alors cela indique peut être un problème grave : par exemple, des fichiers systèmes sont corrompus au démarrage, et Windows reprend la dernière bonne config connue, pour laquelle la lettre de lecteur réseau n'était pas encore programmée.

Commentaire de scoubigee le 08/12/2006 18:50:22

En fait quand je disais qu'ils "sautaient" c'est qu'ils apparaissaient sous le statut "disque réseau déconnecté", et quand mon programme accédait aux fichiers sur ce disque il me remontait une erreur, je ne sais plus exactement laquelle mais en sortie le traitement ne s'effectuait pas.
D'où la nécessité de "mapper les disques par programme" plutôt que "manuellement" !!!

Voili voilou ^_^

Commentaire de mastercatz le 11/12/2006 08:01:29

Connaissez vous la commande 'net use' ?

Commentaire de scoubigee le 11/12/2006 08:58:33

Et oui, une petite recherche sur le site permet de trouver ceci :
http://www.vbfrance.com/codes/MAPPER-LECTEUR-RESEAU-CONNEXION-DECONNEXION_3165.aspx


^_^

Commentaire de Sade le 12/02/2007 13:29:21

Y a t'il un reference a ajouter, car si j'execute le code directement
il y a un execption de generer.

merci d'avance

Commentaire de scoubigee le 12/02/2007 13:42:32

Non pas que je me rapelle (de tête ^^).
Quelle est ton exception ?

Commentaire de Sade le 12/02/2007 13:47:21

System.NullReferenceException: Variable objet ou variable d'un bloc With non définie.
   à Microsoft.VisualBasic.CompilerServices.Symbols.Container..ctor(Object Instance)
   à Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
   à GRafale.ModVarGlobale.MapDisk(Object DriveMap, Object Path) dans E:\christian\la redoute\6eme gare\GRafale\GRafale\Modules\ModVarGlobale.vb:ligne 352

Commentaire de scoubigee le 12/02/2007 14:39:26

Quelle est ta ligne 352 ?

Commentaire de Sade le 12/02/2007 14:43:28

La ligne 352 est la suivante .

If Not objFSO.DriveExists(DriveMap) Then

Commentaire de scoubigee le 12/02/2007 14:59:28

Ah ok ^^
Dans ce cas là c'est que tu n'as pas passé le bon paramètre ^^
Drivemap = "D:"
(je crois que c ca, il faut juste mettre les : en plus à la lettre, teste et dis moi)

Commentaire de Sade le 12/02/2007 15:11:32

j'ai essayer en ajoutant les deux point mais sa ne marche pas .

voici l'erreur

System.NullReferenceException: Variable objet ou variable d'un bloc With non définie.
   à Microsoft.VisualBasic.CompilerServices.Symbols.Container..ctor(Object Instance)
   à Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
   à GRafale.ModVarGlobale.MapDisk(Object DriveMap, Object Path) dans E:\christian\la redoute\6eme gare\GRafale\GRafale\Modules\ModVarGlobale.vb:ligne 352

merci d'avance.

Ps : j'ai essayer avec une api et cela fonctionne mais je voudrait comprendre pour sa ne marche pas !!

merci d'avance

Commentaire de scoubigee le 12/02/2007 15:18:48

Dès que je peux retester je test et je te tiens au courant !

Commentaire de Sade le 12/02/2007 15:33:06

D'accord, je v cherche de mon cote aussi (le pb n'est pas bloquant pour l'instant).

info : je suis en vb2005.

Commentaire de julienmus le 15/06/2009 17:36:16

Je pense avoir trouvé l'erreur pour l'exception

a la ligne 7 il faut enlever ' devant la ligne
sa marche
enfin apres 3 jour de relecture j'ai fini par comprendre

en tout cas merci

Commentaire de mathnel le 11/09/2009 08:32:50

Vraiment impeccable ton code

Sur un dev, j'avais un pb de perte de connexion sur un lecteur mappé.
J'avais gérer le problème en passant par une commande shell. Mais avec le temps la lettre du lecteur a été prise par l'admin réseau. Comme j'ai besoin juste sur un instant t du lecteur, je commence par vérifier quel est la lettre disponible, je la connecte. Une fois l'utilisation du prg terminé je kill le lecteur monté.

Merci.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Mapper un disque réseau via Internet [ par metos ] Bonjour !Je suis entrain de développer un petit soft avec des contrôles Winsock pour envoyer des commandes à un serveur via le net. Je me demandais s' Mapper un disque réseau via Internet [ par metos ] Bonjour !Je suis entrain de développer un petit soft avec des contrôles Winsock pour envoyer des commandes à un serveur via le net. Je me demandais s' Mapper un disque réseau via Internet [ par metos ] Bonjour !Je suis entrain de développer un petit soft avec des contrôles Winsock pour envoyer des commandes à un serveur via le net. Je me demandais s' Mapper un disque réseau via Internet [ par metos ] Bonjour !Je suis entrain de développer un petit soft avec des contrôles Winsock pour envoyer des commandes à un serveur via le net. Je me demandais s' connecter un lecteur réseau [ par gaby33 ] Je réalise un programme qui récupère des données sur une bande DAT, et les place sur un des disques de mon snap server ( c'est un serveur de stockage Connecter une BD en réseau [ par rumours ] Aprés un "Net use K: \\youpi\tralala" je dispose d'unlecteur K sur lequel figure un fichier FoxproToto.dbf.Comment à partir d'un controle DAO (ou ADO Base réseau [ par willfred ] je possède l'ip de l'ordinateur ou je doit me connecter mais je ne sais pas comment faire pour me connecter sur la base de données de cet ordi.merci d Connecter un lecteur réseau [ par bouf ] Bonjour,j'essai depuis quelques temps en vain de faire une connection réseau en VB du type : net use [lettre du lecteur] \\serveur\dossierJe n'ai rien Winsock sur internet [ par Mrx3 ] Voilà je voudrai savoir si il est possible de connecter 2 PC avec winsock , sachant que ces pc son sur internet. J'ai essayé mais sa ne veut pas se co Winsock sur internet [ par Mrx3 ] Voilà je voudrai savoir si il est possible de connecter 2 PC avec winsock , sachant que ces pc son sur internet. J'ai essayé mais sa ne veut pas se co


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales