none
ajout_emplacement_réseau RRS feed

  • Question

  • bonjour,
    je cherche a écrire un bout d'application pour ajouter des emplacement
    réseau (du type \\monServeur\rep_partagé) sous le nom affiché RepPartagé
    avec éventuellement login et mdp pour la connexion.
    Quelqu'un sait il comment faire?
     
    d'avance merci
     
    the_chi
     
     
    • Modifié the_chi vendredi 20 août 2010 08:12
    lundi 9 août 2010 15:24

Réponses

  • Tout simplement qq chose comme :

    IO.Directory.CreateDirectory("\\serveur\partage\z") qui va créer un dossier z sous le partage \\serveur\partage de même que CreateDirectory("T:\z") aurait fait la même chose si la lettre T était connectée à \\serveur\partage.

    Il est possible de modifier les droits sur un dossier via http://msdn.microsoft.com/fr-fr/library/system.io.directory.setaccesscontrol.aspx.

    Mais j'ai sans doute mal compris ? On veut que le programme se connecte à l'un ou l'autre (et crée des dossiers) ou le but est-il de créer des emplacements réseaux que l'utilisateur verra dans "Ordinateur" "Emplacement réseau" ? 

     

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 10 août 2010 08:38
    Modérateur
  • Au temps pour moi. Je pense que c'est juste le "sous le nom affiché RepPartagé" qui me donnait l'impression que l'on voulait créer qq chose dans ce dossier.

    A ma connaissance la gestion des raccourcis n'est pas encore directement dispo en .NET. Voir éventuellement le API Code Pack qui je pense doit les fournir (http://code.msdn.microsoft.com/WindowsAPICodePack)

    Sinon le plus simple malgré la dépendance sur WScript serait selon moi qq chose comme :

        Dim Folder As String = System.Environment.GetFolderPath(Environment.SpecialFolder.NetworkShortcuts)
        Dim shell As Object = CreateObject("WScript.Shell")
        Dim shortcut As Object = shell.CreateShortcut(Folder & "\MyLink.lnk")
        shortcut.TargetPath = "\\serveur\partage\dossier"
        shortcut.Description = "Essai"
        shortcut.Save()
    

     A exécuter dans un fichier avec Option Strict Off

     

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 10 août 2010 16:04
    Modérateur

Toutes les réponses

  • Bonjour,

    Voici un article qui explique comment faire : http://www.fryan0911.com/2009/05/how-to-map-shared-network-folder-using.html

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    lundi 9 août 2010 20:19
    Modérateur
  • bonjour,
    je possède plusieurs serveurs ayant chacun plusieurs répertoires partagés. je souhaiterai écrire un petit pgm en visual basic pour me connecter à l'un ou à l'autre.
    méthode : explorateur de fichier, ordinateur, menu Fichier, Ajouter un emplacement réseau.
    on a accès à des répertoire partagés, sans la contion de lettre (X, Y, Z).
      
    the_chi
    P.S. on ne peut pas poster d'image? je n'ai pas trouvé.
    mardi 10 août 2010 07:18
  • Bonjour,

    L'article de mon précédent post vous permet de créer un lecteur réseau.

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    mardi 10 août 2010 07:34
    Modérateur
  • oui mais il utilise encore la lettre (c'est bien à celà que sert le DriveLetter ?). Si je la laisse vide est ce que la connexion fonctionne encore ? ou puis je la remplacer par un nom générique du style Rep1, Rep2?

    the_chi

    mardi 10 août 2010 07:39
  • Bonjour,

    Si on ne veut pas de lettre il suffit d'utiliser le nom unc (\\serveur\partage\dossier). Il n'y a pas à se "connecter" à l'un ou l'autre, il suffit juste d'utiliser le nom UNC (ou alors le partage n'est pas accessible sous le compte normal de l'utilisateur et l'application devrait donc emprunter l'identité d'un compte permettant cet accès ?)

     

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 10 août 2010 07:47
    Modérateur
  • moi je veux bien, mais c'est le comment qui m'intéresse.

    the_chi

    mardi 10 août 2010 08:06
  • Tout simplement qq chose comme :

    IO.Directory.CreateDirectory("\\serveur\partage\z") qui va créer un dossier z sous le partage \\serveur\partage de même que CreateDirectory("T:\z") aurait fait la même chose si la lettre T était connectée à \\serveur\partage.

    Il est possible de modifier les droits sur un dossier via http://msdn.microsoft.com/fr-fr/library/system.io.directory.setaccesscontrol.aspx.

    Mais j'ai sans doute mal compris ? On veut que le programme se connecte à l'un ou l'autre (et crée des dossiers) ou le but est-il de créer des emplacements réseaux que l'utilisateur verra dans "Ordinateur" "Emplacement réseau" ? 

     

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 10 août 2010 08:38
    Modérateur
  • bonjour,
    merci pour la réponse.
    question supplémentaire : ou apparait ce répertoire? il n'apparait pas dans l'explorateur de fichiers et encore moins dans

    \AppData\Roaming\Microsoft\Windows\Network Shortcuts.

    the_chi

     

    "Patrice Scribe" a écrit dans le message de groupe de discussion : e2a8a747-c6db-49c9-a17c-56afbc4a32f9...

    Tout simplement qq chose comme :

    IO.Directory.CreateDirectory("\\serveur\partage\z") qui va créer un dossier z sous le partage \\serveur\partage de même que CreateDirectory("T:\z") aurait fait la même chose si la lettre T était connectée à \\serveur\partage.

    Il est possible de modifier les droits sur un dossier via http://msdn.microsoft.com/fr-fr/library/system.io.directory.setaccesscontrol.aspx.

     

     

     

     

     

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 10 août 2010 09:55
  • Bon, désolé. J'ai visiblement introduit plus de confusion qu'autre chose. Donc on veut ajouter des *raccourcis* vers des dossiers réseau déjà existants. Ces raccourcis seront visibles dans "Ordinateur", "Emplacement réseau" (Windows 7, probablement "Favoris réseau" sous XP). Est-ce correct ?

    (Le code posté précédemment crée un nouveau dossier dans le dossier réseau indiqué).


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 10 août 2010 11:15
    Modérateur
  • oui. c'est cela. je n'étais peut être pas très clair au départ. Je voulais mettre une image pour expliquer mais a priori ca ne passe pas.
     
    "Patrice Scribe" a écrit dans le message de groupe de discussion : 83758c50-b202-4014-9fb7-e80a7e6ea49f...

    Bon, désolé. J'ai visiblement introduit plus de confusion qu'autre chose. Donc on veut ajouter des *raccourcis* vers des dossiers réseau déjà existants. Ces raccourcis seront visibles dans "Ordinateur", "Emplacement réseau" (Windows 7, probablement "Favoris réseau" sous XP). Est-ce correct ?

    (Le code posté précédemment crée un nouveau dossier dans le dossier réseau indiqué).


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 10 août 2010 11:27
  • Au temps pour moi. Je pense que c'est juste le "sous le nom affiché RepPartagé" qui me donnait l'impression que l'on voulait créer qq chose dans ce dossier.

    A ma connaissance la gestion des raccourcis n'est pas encore directement dispo en .NET. Voir éventuellement le API Code Pack qui je pense doit les fournir (http://code.msdn.microsoft.com/WindowsAPICodePack)

    Sinon le plus simple malgré la dépendance sur WScript serait selon moi qq chose comme :

        Dim Folder As String = System.Environment.GetFolderPath(Environment.SpecialFolder.NetworkShortcuts)
        Dim shell As Object = CreateObject("WScript.Shell")
        Dim shortcut As Object = shell.CreateShortcut(Folder & "\MyLink.lnk")
        shortcut.TargetPath = "\\serveur\partage\dossier"
        shortcut.Description = "Essai"
        shortcut.Save()
    

     A exécuter dans un fichier avec Option Strict Off

     

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 10 août 2010 16:04
    Modérateur
  • bonjour et merci.
    ca se rapproche de ce que je cherche. pour l'API, je l'ai téléchargée et je regarderai dès que j'aurais un peu de temps.
    pour le script, il fonctionne et semble donner les mêmes choses sauf qu'on voit apparaitre un raccourci dans l'explorateur de fichier (normal on passe par Createshortcut) alors que ceux créés par Windows n'ont pas cette mention ( * ) et lorsque j'essaye de récupèrer la liste de ces répertoires partagés, par une méthode :

    Dim

     

    Dim NetDrives As String()Directory.GetDirectories(dir)

    NetDrives =

    dir As String = System.IO.Directory.GetParent(System.Environment.GetFolderPath(Environment.SpecialFolder.Personal)).FullNamedir &=
    "\AppData\Roaming\Microsoft\Windows\Network Shortcuts"
    le répertoire pourtant bien présent est affiché comme un raccourci alors que les autres sont affichés comme "dossier de fichiers".
     
    the_chi
     
    ( * ) que c'est dur de ne pas pouvoir mettre de fichier pour montrer !!
    "Patrice Scribe" a écrit dans le message de groupe de discussion : 429c3761-1729-45e3-9de8-d21fa59bf007...

    Au temps pour moi. Je pense que c'est juste le "sous le nom affiché RepPartagé" qui me donnait l'impression que l'on voulait créer qq chose dans ce dossier.

    A ma connaissance la gestion des raccourcis n'est pas encore directement dispo en .NET. Voir éventuellement le API Code Pack qui je pense doit les fournir (http://code.msdn.microsoft.com/WindowsAPICodePack)

    Sinon le plus simple malgré la dépendance sur WScript serait selon moi qq chose comme :

     Dim Folder As String = System.Environment.GetFolderPath(Environment.SpecialFolder.NetworkShortcuts)
     Dim shell As Object = CreateObject("WScript.Shell")
     Dim shortcut As Object = shell.CreateShortcut(Folder & "\MyLink.lnk")
     shortcut.TargetPath = "\\serveur\partage\dossier"
     shortcut.Description = "Essai"
     shortcut.Save()
    

     A exécuter dans un fichier avec Option Strict Off

     

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mercredi 18 août 2010 07:40