[R] Gpupdate /force via AutoiT

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
whipper
Niveau 1
Niveau 1
Messages : 13
Enregistré le : jeu. 24 avr. 2008 08:27
Status : Hors ligne

[R] Gpupdate /force via AutoiT

#1

Message par whipper »

Bonjour,
J'ai besoin d'executer un GPupdate /force a la fin de mon script Autoit.
Donc j'ai utilisé la fonction StdoutRead pour attendre la fin d'execution de la MAJ des Policy mais en rajoutant un Msgbox entre je me rend compte que rien n'est récupéré dans la variable $line.
Quelqu'un aurait-il une idée ???
Pour info je me suis basé sur l'exemple fourni par StdoutRead
► Afficher le texte
Merci d'avance...
Modifié en dernier par whipper le lun. 30 nov. 2009 16:33, modifié 1 fois.
Avatar du membre
tofu
Niveau 3
Niveau 3
Messages : 30
Enregistré le : mar. 15 avr. 2008 14:48
Status : Hors ligne

Re: [..] Gpupdate /force via AutoIt

#2

Message par tofu »

Bonjour,

Il me semble que lorsqu'on utilise stroutread, il faut ajouter une condition pour matcher uniquement les lignes non vides.

En tout cas, quand je test, si je retire la condition qui vérifie que $line contient bien quelque chose, j'ai une boucle infinie, alors qu'avec cette condition, je match bien le résultat et la boucle s'arrête correctement après le traitement.

Code : Tout sélectionner

#include <Constants.au3>

Local $foo = Run(@ComSpec & " /c ping localhost", "", @SW_HIDE,$STDOUT_CHILD)

Local $line

While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
    If ($line <> "") Then
        ConsoleWrite("S_OK: " & $line & @CRLF)
    EndIf
WEnd
En espérant que cela puisse vous aider,

Cordialement,
L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
whipper
Niveau 1
Niveau 1
Messages : 13
Enregistré le : jeu. 24 avr. 2008 08:27
Status : Hors ligne

Re: [..] Gpupdate /force via AutoIt

#3

Message par whipper »

Merci beaucoup,

Mais en modifiant:

Code : Tout sélectionner

ConsoleWrite("S_OK: " & $line & @CRLF)
Par:

Code : Tout sélectionner

Msgbox(1, "Result:", $line, 3)
J'ai bien un résultat dans le Msgbox!!!

Mais a partir du moment ou je change:

Code : Tout sélectionner

Local $foo = Run(@ComSpec & " /c ping localhost", "", @SW_HIDE,$STDOUT_CHILD)
Par:

Code : Tout sélectionner

Local $foo = Run(@ComSpec & " /c Gpupdate /force", "", @SW_HIDE,$STDOUT_CHILD)
Le GPupdate se lance bien (Il apparait dans le Planificateur de tâche) mais ne remonte aucune infos car le Msgbox n'apparait jamais...

Il doit y avoir un problème avec la fonction GPupdate /force !!!
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11818
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Gpupdate /force via AutoIt

#4

Message par Tlem »

Ce code :
► Afficher le texte
me renvoie ce texte :
► Afficher le texte
Sur un PC avec XP Pro SP3, ainsi que sous Vista Pro.
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é".
whipper
Niveau 1
Niveau 1
Messages : 13
Enregistré le : jeu. 24 avr. 2008 08:27
Status : Hors ligne

Re: [..] Gpupdate /force via AutoiT

#5

Message par whipper »

Merci bien...

Mais sur mes postes réseau je n'ai aucune remonté d'informations
(Le GPupdate apparait bien dans le gestionnaire de tâches)
Alors que sur mon Pc perso (hors domaine) ca fonctionne bien !!!
Répondre