Executer commande net use, mapper un lecteur resau

Signaler
Messages postés
66
Date d'inscription
mardi 8 mars 2005
Statut
Membre
Dernière intervention
30 septembre 2008
-
Messages postés
16
Date d'inscription
lundi 14 novembre 2005
Statut
Membre
Dernière intervention
4 août 2006
-
Bonjour,

J'ai besoin de mapper un lecteur réseau en c# et je connais seulement la commande en vb:

Shell("net use Y: [file://nomServeur/ \\nomServeur] /USER:nomUser motDePasseUser /PERSISTENT:NO",AppWinStyle.Hide);

Y a-t-il une équivalence en c# pour executer net use? ou y a-t-il une autre commande que net use?

Merci d'avance...

8 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
tu peux procéder comme suit :

System.Diagnostics.Process.Start(@("net use Y: [file://nomServeur/ \\nomServeur
] /USER:nomUser motDePasseUser /PERSISTENT:NO");

mais tu peux aussi regarder la source suivante : http://www.csharpfr.com/code.aspx?ID=34719

Sébastien FERRAND
[MVP C#]
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Salut,

Je dirais plutôt
System.Diagnostics.Process.Start("net", @"use Y: [file://nomServeur/ \\nomServeur] /USER:nomUser motDePasseUser /PERSISTENT:NO");

(De tête, à vérifier)

Par contre il doit aussi y avoir moyen de faire ça via les API, mais je ne sais pas (plus) comment -_-

/*
coq
MVP Visual C#
*/
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
oui aussi... j'oublie toujours cette surcharge pour les paramètres

Sébastien FERRAND
[MVP C#]
Messages postés
66
Date d'inscription
mardi 8 mars 2005
Statut
Membre
Dernière intervention
30 septembre 2008

Quand j'utilise la commande:

System.Diagnostics.Process.Start("net", @"use Y: [file://nomServeur/ \\nomServeur] /USER:nomUser motDePasseUser /PERSISTENT:NO");

je n'ai pas d'erreur d'execution mais je ne vois pas le lecteur (ni sur le client, ni sur le serveur).
Le lecteur doit se mapper sur le serveur mais n'y a-t-il pas une solution pour faire ce map sur les clients?
Messages postés
3
Date d'inscription
samedi 18 octobre 2003
Statut
Membre
Dernière intervention
28 novembre 2005

Bonjour,
J'essaie de développer une application qui me permettra de faire ce mappage mais en visual studio, pour celà je demande à l'utilisateur de tapper son login et mot de passe.

Mais je n'arrive pas dans la ligne :
Shell("net use Y: [file://nomServeur/ \\nomServeur
] /USER:nomUser motDePasseUser /PERSISTENT:NO",AppWinStyle.Hide);

a faire passer le login et mot de passe, vue que ce sont des variables.

quelqu'un pourrai m'aider ???

Philippe GAZAGNE
Directeur du réseau System-Net
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
System.Diagnostics.Process.Start("net", @"use Y: [file://nomServeur/ \\nomServeur] /USER:" + login + " " + pwd + " /PERSISTENT:NO");

Sébastien FERRAND
[MVP C#]
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Salut,

Jette un oeil à cette source, tu dois peut être pouvoir utiliser les mêmes méthodes des API afin d'effectuer ce que tu veux, au lieu d'utiliser net use.

/*
coq
MVP Visual C#
*/
Messages postés
16
Date d'inscription
lundi 14 novembre 2005
Statut
Membre
Dernière intervention
4 août 2006

Salut, je remercie déjà pour cette source qui m'a été tres utile pour réaliser un NetUse (avec compte et Password), mon application fonctionnne parfaitement quand je lance le .exe a la main et me connecte au dossier partagé, Toutefois mon application est lancée à l'origine par un service.Ce lancement fonctionnne mais ce coup ci je ne peux plus me connecter au dossier partagé "connection impossible". Ca ne peut pas etre une erreur de code car le .exe fonctionne et le service ne fait que lancer le .exe.   Je pense donc à un problème de compte ou de session ... Si qqn connait la cause SVP? Et si oui l'éventuelle solution...

Merci d'avance

A+