Tyrell2
Messages postés251Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention 2 novembre 2010
-
4 mars 2010 à 13:57
Tyrell2
Messages postés251Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention 2 novembre 2010
-
5 mars 2010 à 19:37
bonjour,
j'ai fait un "RunAs" en .NET pour donner le droit à un utilisateur non administrateur d'un poste XP
de modifier sa configuration TCP/IP.
pour cela je me sert de la commande NETSH pour modifier la configuration de "connexion au réseau local",
et comme je ne suis jamais arrivé à gerer le caractere "é" pour faire fonctionner mon programme,
je me contentai d'écrire "connexion au" dans ma ligne de commande et ça passait très bien !
mais j'ai un nouveau problème avec les ordinateurs portables : comme il existe plusieurs connexions (Ethernet, wifi, 3G, etc...) le fait de s'arrêter à "connexion au" ne suffit plus. il faut vraiment préciser le nom complet de la connexion à modifier.
savez vous s'il est possible en .NET de modifier le nom d'une connexion réseau ? (comme ça je dégage le "é")
ou bien que faut il mettre dans mon string à la place du "é" pour que la commande soit bien interprétée ? (j'ai déjà essayé avec "," à la place de "é" mais marche pô )
Tyrell2
Messages postés251Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention 2 novembre 2010 4 mars 2010 à 15:13
et bien utiliser "Netsh interface ip set address name= ""Connexion au réseau local"" dhcp" ne fonctionne pas
alors que "Netsh interface ip set address name =""Connexion au reseau local"" dhcp" fonctionne bien !
il y a un problème de gestion du caractère "é" dans le code .NET que je ne sais pas régler.
donc j'ai 2 solutions :
ou je renomme le nom de la connexion réseau en remplacent le caractère accentué,
ou j'arrive à gérer le caractère accentué en .NET
pour le moment je ne sais faire aucune de ces 2 solutions (sauf la première mais uniquement manuellement ce que je ne peut pas retenir vu le nombre de poste concernés)
Tyrell2
Messages postés251Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention 2 novembre 2010 5 mars 2010 à 08:30
merci du conseil c'est gentil, mais comment on fait justement ?
c'est ce que je demande depuis le début
je crée un New Process sur l'executable "Netsh.exe"
et je complète avec un .Arguments = "Netsh interface ip set address name=""Connexion au réseau local"" dhcp"
c'est le "é" de "réseau" qui fait planter la commande
ça passe avec un "e" à la place du "é" (déjà dis ?)
comment pourrais je faire passer ce $^*ù:;# de "é" ?
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 5 mars 2010 à 09:39
Bonjour,
Une ptite bidouille à tester, si tu récupères le nom de la connexion active en lançant avant la commande : netsh interface show interface > connex.txt
Tu ouvres ensuite ce fichier pour récupérer la ligne qui t'intéresse afin de la réutiliser?
L'expérience, c'est une connerie par jour, mais jamais la même..
Tyrell2
Messages postés251Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention 2 novembre 2010 5 mars 2010 à 19:37
non merci pas besoin de bidouille,
j'ai trouvé tout seul :
avec .Normalise à la fin de mon argument string,
le caractère "é" passe bien dans la commande du process.