[R] Récupérer le résultat de RunAs.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
molbento
Niveau 2
Niveau 2
Messages : 17
Enregistré le : ven. 11 juil. 2008 11:43
Status : Hors ligne

[R] Récupérer le résultat de RunAs.

#1

Message par molbento »

Bonjour,
Je souhaite arrêter et redémarrer un service windows a distance pour cela j'utilise la commande suivante :

Code : Tout sélectionner

RunAs("admin","domain","mdp","sc \\Terre stop wuauserv")
ou terre est le nom de mon serveur. et wuauserv est le nom du service que je souhaite arreter.

quand je tape cette commande dans une fenêtre dos le résultat que j'obtiens est le suivant :

Code : Tout sélectionner

SERVICE_NAME: wuauserv
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : [color=#FF0000]3[/color]  STOP_PENDING
                                (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x1
        WAIT_HINT          : 0x3a98
Je souhaiterais récupérer le résultat de la commande dans un fichier .txt mais je ne sais pas comment faire.
Quelqu'un peut-il m'aider
merci d'avance
Modifié en dernier par Tlem le ven. 18 juil. 2008 00:29, modifié 3 fois.
Raison : Mise à jour du titre et ajout balise code
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [...] Récupérer le résultat d'une commande ds une varriable

#2

Message par jbnh »

mhhh, je comprend pas très bien la manière dont ton script fonctionne mais voici un exemple pour je l'espère t'aider.

Code : Tout sélectionner

#include <Constants.au3>

$info = ''
    
$foo = Run(@ComSpec & ' /c LACOMMANDE', @SystemDir, @SW_HIDE, $STDOUT_CHILD)
While 1
    $info &= StdoutRead($foo)
    If @error Then ExitLoop
WEnd


FileWrite("test.txt", $info)
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Récupérer le résultat de RunAs.

#3

Message par Tlem »

Adapter à la situation, cela donne :

Code : Tout sélectionner

$info = ''

$foo = RunAs("admin", "domain", "mdp", 0, "sc \\Terre stop wuauserv", "", @SW_HIDE, 2 )

While 1
    $info &= StdoutRead($foo)
    If @error Then ExitLoop
WEnd
    
$aInfo = StringSplit($info, @CRLF)

For $i = 1 To $aInfo[0]
    If StringInStr($aInfo[$i], "STATE") Then
        $info = StringMid($aInfo[$i] , 30, 1)
    EndIf
Next

If StringLen($info) > 1 Then
    MsgBox(16,"Erreur", "Erreur de lecture de l'état (Service déjà modifié).")
Else
    MsgBox(64,"Info",$info)
EndIf
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre