Accès à serveur réseau d'entreprise

farrakis Messages postés 32 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 12 mai 2013 - 12 mai 2013 à 11:47
 Utilisateur anonyme - 12 mai 2013 à 13:29
Bonjour

Pour le besoin d'une appli métier, j'ai besoin de me connecter à un serveur de mon réseau d'entreprise (adresse du serveur du type 10.1.70.5), d'y récupérer des fichiers texte et de les copier sur le disque dur de l'utilisateur.

Lorsque je tente de me connecter sur le serveur en question via l'explorateur Windows, on me demande un login et un mot de passe. Je les connais et peut donc me connecter sans problème, mais l'application ayant pour vocation d'être déployée sur plusieurs postes de travail, j'aimerais que ces informations de connexion soient "codées" dans le programme.

Après m'être connecté sur le serveur, via l'explorateur, je n'ai aucun mal à copier les fichier souhaités sur mon disque dur via un simple
My.Computer.FileSystem.CopyFile



J'ai cherché un peu un moyen de me connecter via du code au serveur et ai trouvé la fonction
My.Computer.Network.DownloadFile

Toutefois à l'exécution de cette fonction je rencontre des difficultés:
[list]
La première est que lorsque j’exécute la commande
My.Computer.Network.DownloadFile("\\10.1.70.5\dossier\monFichier", "C:\temp\monFichierCopier", "login", "motdepasse")

on me retourne immanquablement une erreur du type "le login ou le mot de passe sont incorrects", pourtant je suis sûr de ces derniers car j'arrive à me connecter au serveru avec via l'Explorateur Windows.
/list

[list]
La seconde est que le fichier que je cherche à copier est en perpétuelle utilisation par un autre logiciel.
Une fois que je me suis connecté sur le serveur via Windows Explorer, si je tente l'exécution de
My.Computer.Network.DownloadFile
on me retourne un message du type "Fichier en cours d'utilisation". En revanche, la fonction My.Computer.FileSystem.CopyFile fonctionne correctement.
/list

Je cherche donc un moyen d'accéder à mon serveur via login et mot de passe et à copier un fichier texte en cours d'utilisation..
Si quelqu'un à une idée, je suis preneur...

Merci d'avance

PS : je travaille en VB.NET sur Visual Studio Express 2010

2 réponses

Utilisateur anonyme
12 mai 2013 à 13:10
Salut,

La méthode DownloadFile que tu utilises comporte 10 surcharges dont une qui te permet de fournir un login et un pass. Voir ici.
0
Utilisateur anonyme
12 mai 2013 à 13:29
Ne pas tenir compte de mon message précédent.

Je pense qu'il faut indiquer à la méthode, la nature du protocole utilisé.
Tu peux tenter ceci :
Dim LogonCred As Net.NetworkCredential = New Net.NetworkCredential("userid", "password", "domain")
Dim MonUri As Uri = New Uri("file://10.1.70.5/dossier/monFichier")
My.Computer.Network.DownloadFile(MonUri, "C:\temp\monFichierCopier", LogonCred, False, 3000, true)
0
Rejoignez-nous