RunAs explorateur Windows ???

Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010 - 8 déc. 2008 à 12:38
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010 - 11 déc. 2008 à 17:24
Bonjour,

mon nouveau probleme du jour => je fais des "executer en tant que" dans un programme,
ça marche bien pour tout un tas d'exe sauf 1 et je ne sais vraiment pas quoi faire.

je n'arrive pas à ouvrir l'explorateur windows via le code suivant :
Dim

RunAs
As
New Process
RunAs.StartInfo.Password = ToSecureString(password)
RunAs.StartInfo.UserName =
"Administrateur"
RunAs.StartInfo.UseShellExecute =
False
RunAs.StartInfo.FileName =
"C:\Windows\explorer.exe"
RunAs.StartInfo.Arguments =
"/e,C:\Documents and Settings"
RunAs.StartInfo.CreateNoWindow =
True
RunAs.Start()
Rien ne se passe, aucune fenetre ne s'ouvre
j'ai mis un try / catch mais je n'ai aucun ex.message
pouvez m'aiguiller sur mon erreur svp ?
merci

_____________
 (débutant inside)

7 réponses

Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
8 déc. 2008 à 12:40
pour completer : ça marche si je desactive les 2 lignes "startinfo.password" et "startinfo.username",
mais du coup ça supprime tout l'interet du "executer en tant que"
et puis je le repete : ça marche bien avec pleins d'autres exe.
heeeeeelp !

_____________
 (débutant inside)
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
9 déc. 2008 à 10:26
Salut,

Pour ouvrir l'explorateur de Windows sur un dossier en particulier, cela est très simple :

Shell("Explorer.exe ""C:\Documents and Settings""", AppWinStyle.NormalFocus)

++

Fauve
<hr size="2" width="100%" />Pensez : Réponse Acceptée 
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
9 déc. 2008 à 13:54
bonjour,

oui je connais, mais avec "shell" je ne peux pas faire ce que je disais dans mon 1er post : du "executer en tant que"
à moins qu'il y ai une methode que je ne connaisse pas...  (ce qui est largement possible )
merci de me dire si tu en connais un .

merci

_____________
 (débutant inside)
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
9 déc. 2008 à 18:18
Salut,

Chez moi ton code fonctionne super bien j'ai seulement changé Password et Username...

En revanche ToSecureString n'est pas reconnu chez moi j'ai donc procédé autrement pour Password :

Dim secu As New System.Security.SecureStringForEach unChar AsCharIn"MyPassword"
      secu.AppendChar(unChar)
Next

RunAs.StartInfo.Password = secu

Essaies ça pour voir...

++

Fauve
<hr size="2" width="100%" />Pensez : Réponse Acceptée 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
11 déc. 2008 à 08:39
bonjour,

voici ce à quoi ressemble "tosecurestring" chez moi (c'est tres proche de ta proposition qui apres essai ne resoud pas mon probleme malheureusement..)

Function ToSecureString(
ByVal str
As
String)

Dim password
As
New Security.SecureString

For
Each c
As
Char
In str.ToCharArray
password.AppendChar(c)

Next
Return password

End
Function

_____________
 (débutant inside)
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
11 déc. 2008 à 10:24
Salut,

Déjà tu peux enlever .ToCharArray, il ne sert à rien car en faisantFor Each c As Char InStr

La variable c prendra comme valeur les caractères contenus dans Str, les uns après les autres.

Ensuite, je vois dans ton code que tu envois la variable password en paramètre à la fonction ToSecureString

Ce qui indique que tu as dû la déclarer auparavant mais quand je regarde dans ta fonction, tu déclares une autre variable password

Il se peut que cette variable masque l'autre du même nom et peut être la raison pourquoi ça fonctionne pas chez toi

Tiens moi au courant

++

Fauve
<hr size="2" width="100%" />Pensez : Réponse Acceptée 
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
11 déc. 2008 à 17:24
c'est vrai que j'utilise le string password à different endroit et que cela peut preter à confusion, mais ce n'est pas la cause du probleme

pour t'expliquer (en essayant d'etre clair) :

je fait differents "executer en tant que" dans mon programme sur des postes ou le mot de passe de l'administrateur local a été généré via une moulinette qui s'appui sur le nom du poste. il ya eut la moulinette V1 et aujourd'hui il y a la V2 donc il peut y avoir 2 types de mots de passes differents,

alors pour etre sur que mon programme marche dans les 2 cas, je lance un 1er process avec un mot de passe dans un try /catch et avec un boolean.
si ça passe pas alors je sais avec mon boolean false que j'utilise pas le bon mot de passe et donc je defini ensuite un "password" as string qui = l'autre mot de passe et qui me sert pour le reste du programme.

suisje clair... ?
si tu veux j'ai mis return "Pass" au lieu de "Password" dans ma fonction, mais j'ai toujours pareil

merci quand meme d'essayer

_____________
 (débutant inside)
0
Rejoignez-nous