Page 1 sur 1

[R] Aide pour console admin (v2)

Posté : jeu. 05 nov. 2009 16:17
par lerin57
Bonjour,

Avec l'aide des précieux conseil des admins et experts de ce site, j'ai élaboré une gui permettant d'exécuter certains programmes permettant de lancer des fonctions en tant qu'administrateur, dans une session utilisateur avec des droits restreints.
Pour rappel, nous effectuons des PMD avec des outils qui ne nous permettent pas toujours de changer de session.

voici les détails de mon scripts :
► Afficher le texte
Les problemes que je rencontre sont les suivants :
- Le fait de lancer un bouton ne donne aucune réaction, ce qui laisse sous entendre qu'un controle doit sans doute etre effectué sur les champs GUICtrlCreateInput("", 120, 32, 225, 21)
A ce sujet, la recherche dans l'aide n'as pas encore été très fructueuse ( ne m'en veuillez pas, je me fait une meilleure idée sur des exemples)

- Est il possible de mettre en place une condition indiquant que les champs liés à $nusername et $nuserpassword soient remplis avant execution de n'importe quelle fonction.

- Vous remarquerez une zone commentée :
► Afficher le texte
J'ai tenté ici de masquer le panneau de la GUI lorsque la console mmc se lance, mais l'operation ne fonctionne qu'une seule fois.

- vous remarquerez la présence de deux explorateurs alternatifs :a43.exe et 2xplorer
J'execute la GUI dans le dossier parent de ces explorateurs.
Je comptait crée un fichier autoextractible permettant de lancer la gui, ce qui n'est pas spécialement complexe, je voudrais cependant savoir si autoit prévoit un genre de module "installeur" comme celui qui a été fait avec le pack débutant (merci Tlem).

- Enfin, et je ne l'ai pas encore testé, est il possible, des que l'on active la fonction de sortie, de supprimer le répertoire d'exécution ainsi que la gui ?

Je me doute que cela fait beaucoup de chose, mais je vous remercie par avance si vous pouvez m'aider pour au moins une de ces questions.

Re: [..]Aide pour console admin (v2)

Posté : mar. 10 nov. 2009 10:23
par lerin57
J'ai Finalement put résoudre mon premier probleme,
Après avoir un peu plsu cherché, j'ai compris qu'il fallait ajouter le parametre GUICtrlRead sur les variable $nusername et $npassword.

Il me reste les dernieres questions a résoudre, à savoir cacher la fenêtre pendant l'exécution d'une fonction, créer un installeur, et supprimer le répertoire parent du fichier source et tout ce qu'il contient après fermeture de la GUI.

Si quelqu'un a des idées, je l'en remercie par Avance

Re: [..]Aide pour console admin (v2)

Posté : ven. 13 nov. 2009 12:57
par lerin57
Bonjour,

Mon troisieme probleme est résolu, avec l'aide de innosetup, j'ai put créer l'installeur adequat.

Par contre, il me reste un dernier probleme, et cette fois ci, j'ai vraiment besoin d'aide.

Il faut que, lorsqu'une fonction ou application est appelée, la GUI passe en cachée (valeur @sw_hide).
La Gui doit réapparaitre lorsque l'application est refermée.

Voici en partie la fonction que j'ai testée :

Code : Tout sélectionner

Func mmc()
            $nRes = RunAs(GUICtrlRead($nUsername), $nDomain, GUICtrlRead($nPassword), 0, "mmc.exe")

                WinSetState("console administration", "", @SW_HIDE)
            If WinWaitClose("Console1") then WinSetState("console administration", "", @SW_SHOW)
            EndIf
Enfunc
Cela me renvoie une erreur bizarre influant sur toute les autre fontion.

Quelqu'un peut il m'aider s'il vous plait ?

Re: [..]Aide pour console admin (v2)

Posté : ven. 13 nov. 2009 19:50
par orax
Quelque chose comme ça :

Code : Tout sélectionner

Func mmc()
    $nRes = RunAs(GUICtrlRead($nUsername), $nDomain, GUICtrlRead($nPassword), 0, "mmc.exe")
    WinSetState("console administration", "", @SW_HIDE)
    While ProcessExists($nRes)
        Sleep(100)
    WEnd
    WinSetState("console administration", "", @SW_SHOW)
EndFunc   ;==>mmc
L'erreur bizarre était peut-être causée par le Enfunc, au lieu de Endfunc.

Re: [R]Aide pour console admin (v2)

Posté : lun. 16 nov. 2009 12:48
par lerin57
Bonjour,

Merci ORAX, c'est exactement ce que je cherchais.

Ce qui est frustrant, c'est que j'ai déja pensé à la fonction sleep, mais je supposais que celle ci n'agissait que sur un laps de temps définie.

voici mon script complet :
► Afficher le texte
Je marque le sujet en résolu.

Merci encore à tous.