IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

Montage d'un lecteur réseau.


Sujet :

Web & réseau Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    avril 2023
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : avril 2023
    Messages : 165
    Points : 67
    Points
    67
    Par défaut Montage d'un lecteur réseau.
    Bonjour à tous.tes, c'est mouai

    J'ai un petit soucis réseau que je n'arrive pas à résoudre :
    Je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WNetAddConnection3W(hwnd, NetRessourceW, Pchar('MdP'), Pchar('userdomaine\username'), CONNECT_UPDATE_PROFILE);
    pour monter des lecteurs réseau dans Windows.
    A priori, il le monte mais ne l'active pas ?
    En tout cas, voici ce que donne le "net use" :Nom : Sans titre2.png
Affichages : 154
Taille : 10,9 Ko

    Merci d'avance si vous avez une idée pour me décoincer

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    avril 2023
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : avril 2023
    Messages : 165
    Points : 67
    Points
    67
    Par défaut
    Ah oui, au fait, j'ai alimenté NetRessourceW comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
                NetRessourceW.dwScope      := RESOURCE_GLOBALNET;
                NetRessourceW.dwType       := RESOURCETYPE_DISK;
                NetRessourceW.dwUsage      := RESOURCEUSAGE_CONNECTABLE;
                NetRessourceW.lpLocalName  := PChar(DLetter); 
                NetRessourceW.lpRemoteName := PChar('\\Dos1\Dos2');
                NetRessourceW.lpProvider   := PChar('');
    Ah ouai, j'avais pas vu que La fonction WNetAddConnection3 ignore les membres de la structure :
    NetRessourceW.dwScope
    NetRessourceW.dwUsage

    Ca ne change rien à mon problème, mais ça montre à Popo que je cherche

    J'ai trouvé ça : https://learn.microsoft.com/fr-fr/tr...evated-command
    mais dis donc...

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    avril 2023
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : avril 2023
    Messages : 165
    Points : 67
    Points
    67
    Par défaut
    Donc, si j'ai bien compris comme d'hab, j'exécute l'appli en tant qu'admin pour monter les serveurs.
    Mais mon profil n'est pas un profil admin. Comme celui de ceux qui auront à se servir de l'appli.
    Ce qui ferait que les lecteurs ne soient pas disponibles dans mon poste de travail.

    Mais moi, je voudrais que le niveau utilisateur puisse monter les lecteurs (donc via l'appli au niveau admin, pas de soucis), et y avoir accès ensuite, au niveau utilisateur...

    Ça parle à quelqu'un, ou c'est n'importe quoi ?

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    13 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2006
    Messages : 13 201
    Points : 24 208
    Points
    24 208
    Par défaut
    Les disques sont vraiment indispensable ?

    j'ai utilisé WNetAddConnection2 pour gérer login/pwd sur un dossier partagé et en CONNECT_TEMPORARY
    j'utilise par la suite le nom réel genre \\server.name\dir\dir.

    Au départ, comme toi j'étais parti sur l'alias mais j'ai finalement abandonné pour un partage uniquement pour mon programme et pas d'autres (ni les autres instances, car user pouvant différent et dossier différent)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    avril 2023
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : avril 2023
    Messages : 165
    Points : 67
    Points
    67
    Par défaut
    Salut ShaiLeTroll,
    Oui les disques sont indispensables.
    J'ai pris WNetAddConnection3 parce qu'on peut lui donner le handle de fenêtre et donc gérer les messages.

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    avril 2023
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : avril 2023
    Messages : 165
    Points : 67
    Points
    67
    Par défaut
    Non mais même pas. C'est pas ce que je pensais avoir compris comme d'hab, puisque quand je le fais directement dans CMD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    net use s: \\dir\sousdir
    Ca marche. Le volume est bien "OK" et apparaît bien dans le poste de travail

    Donc ce n'est pas une question d'administrateur...
    WNetAddConnection3 monte bien les volumes, mais ne les rend pas disponibles. Fait ch... lui
    Peut-être une option à mettre quelque part

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    avril 2023
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : avril 2023
    Messages : 165
    Points : 67
    Points
    67
    Par défaut
    Je vais continuer à chercher pourquoi ça a changé, mais maintenant, il monte bien le lecteur.
    Puisque je le trouve dans cmd avec "net use" et avec l'état "OK". Mais il n'apparaît pas dans mon poste de travail

  8. #8
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    décembre 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : décembre 2003
    Messages : 154
    Points : 192
    Points
    192
    Par défaut
    Bonjour

    si vous faites le montage en tant que admin il est probable qu'il ne soit pas visible dans l'explorateur user

  9. #9
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    mars 2006
    Messages
    1 457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : mars 2006
    Messages : 1 457
    Points : 2 692
    Points
    2 692
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par DOliv Voir le message
    Je vais continuer à chercher pourquoi ça a changé, mais maintenant, il monte bien le lecteur.
    Puisque je le trouve dans cmd avec "net use" et avec l'état "OK". Mais il n'apparaît pas dans mon poste de travail
    Peut être la présence du caractère $ en fin de nom de partage

  10. #10
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    13 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2006
    Messages : 13 201
    Points : 24 208
    Points
    24 208
    Par défaut
    Citation Envoyé par DOliv Voir le message
    Salut ShaiLeTroll,
    Oui les disques sont indispensables.
    J'ai pris WNetAddConnection3 parce qu'on peut lui donner le handle de fenêtre et donc gérer les messages.
    Et pourquoi ne pas plutôt faire un ShellExecute de "net use" avec un détournement des pipes Entrée\Sortie


    WNetAddConnection2, je l'ai utilisé en Thread car c'est un peu long le login, surtout via tunnel ssh sur le cloud
    Le login chez moi, c'est un utilisateur technique et non un utilisateur réel qui doit s'identifier, même, l'utilisateur de lecture n'est pas le même que l'utilisateur d'écriture sur le partage du cloud.
    Je n'ai pas ce problème d'interactivité avec l'utilisateur via CONNECT_INTERACTIVE


    La documentation ne fait mention d'aucun privilège, on peut supposer que le disque n'est monté que pour l'utilisateur courant
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  11. #11
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    avril 2023
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : avril 2023
    Messages : 165
    Points : 67
    Points
    67
    Par défaut
    En fait, il faut créer la clé de registre

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLinkedConnections
    et la mettre à 1
    pour que le système puisse faire la manip tant en tant qu'admin qu'en tant qu'utilisateur.

    Donc, maintenant ça marche, ils apparaissent OK dans le "net use" sauf qu'on ne les voit toujours pas dans le poste de travail.
    Pour cela, il faut redémarrer l'explorateur windows. Dans le gestionnaire des tâches : clic droit, redémarrer.

    Quelqu'un saurait-il comment redémarrer le gestionnaire des tâches avec un ShellExecute par exemple, ou autre chose, mais via le code Delphi ? En demandant gentiment ?

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    avril 2023
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : avril 2023
    Messages : 165
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Et pourquoi ne pas plutôt faire un ShellExecute de "net use" avec un détournement des pipes Entrée\Sortie


    WNetAddConnection2, je l'ai utilisé en Thread car c'est un peu long le login, surtout via tunnel ssh sur le cloud
    Le login chez moi, c'est un utilisateur technique et non un utilisateur réel qui doit s'identifier, même, l'utilisateur de lecture n'est pas le même que l'utilisateur d'écriture sur le partage du cloud.
    Je n'ai pas ce problème d'interactivité avec l'utilisateur via CONNECT_INTERACTIVE


    La documentation ne fait mention d'aucun privilège, on peut supposer que le disque n'est monté que pour l'utilisateur courant
    Merci ShaiLeTroll. Trop tard, pas eu le temps d'essayer...

  13. #13
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    avril 2023
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : avril 2023
    Messages : 165
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par fbalien Voir le message
    Bonjour

    si vous faites le montage en tant que admin il est probable qu'il ne soit pas visible dans l'explorateur user
    Oui c'est tout à fait ça. D'où la nécessité de la clé de registre.

  14. #14
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    14 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 14 627
    Points : 39 802
    Points
    39 802
    Billets dans le blog
    59
    Par défaut
    La question que je me pose est l'utilité de lecteurs partagés. Niveau sécurité (i.e Ransomware) ça craint un max
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) ,D11 (Alexandria)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  15. #15
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    13 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2006
    Messages : 13 201
    Points : 24 208
    Points
    24 208
    Par défaut
    Citation Envoyé par DOliv Voir le message
    clé de registre
    HKEY_LOCAL_MACHINE ça demande d'être admin cette racine non ?
    C'est la liaison entre NT et l'émulation DOS.

    Citation Envoyé par DOliv Voir le message
    OK dans le "net use" sauf qu'on ne les voit toujours pas dans le poste de travail.
    CONNECT_UPDATE_PROFILE ou CONNECT_UPDATE_RECENT, ces flags pourraient avoir un impact
    le premier ça rend le disque presque permanent
    le second ça l'ajoute aux accès récents, on peut penser que ça fait un refresh de explorer



    Citation Envoyé par DOliv Voir le message
    Oui les disques sont indispensables.
    C'est parce que ces disques sont utilisés par un programme tiers sur lequel tu n'as pas la main pour changer la config ou que ne supporte pas les chemins réseaux \\server\dir ?
    Si c'est dans ton programme que tu les utilises, rien ne le rend indispensable.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  16. #16
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    avril 2023
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : avril 2023
    Messages : 165
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    C'est parce que ces disques sont utilisés par un programme tiers sur lequel tu n'as pas la main pour changer la config ou que ne supporte pas les chemins réseaux \\server\dir ?
    Si c'est dans ton programme que tu les utilises, rien ne le rend indispensable.
    Non, c'est parce que des gens doivent pouvoir naviguer sur ces lecteurs, et doivent les trouver sur leur machine sans qu'ils aient à les monter eux-même manuellement.

    Ne me demandez pas ce qu'il s'est passé depuis, je n'ai rien compris, comme d'hab, mais ça marche.
    En tout cas, la clé
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLinkedConnections à 1 est bien indispensable.
    Ca ne marche pas sur les machines où cette clé est absente.

    Merci à tous
    Je vous aime, même Popo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PowerShell] Problème de montage de lecteurs réseau
    Par doc78 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 11/09/2012, 15h09
  2. Montage d'un lecteur réseau windows et droits d'accès
    Par gcvoiron dans le forum Réseau
    Réponses: 7
    Dernier message: 19/08/2008, 10h17
  3. Montage lecteur réseau sans API ni SHELL
    Par BAZ187REM dans le forum VB.NET
    Réponses: 2
    Dernier message: 27/03/2008, 10h11
  4. [VB.NET] montage d'un lecteur réseau pour windows
    Par xufux dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/03/2008, 22h13
  5. Montage Lecteur Réseau Python Ldap
    Par fredouzzz dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 24/02/2008, 02h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo