Bonsoir,
Je cherche à restaurer des GPO avec AUTOIT.
Les commandes fonctionnent en shell classique
Voici le détail de ma fonction:
Func localGPOrestore()
; ShellExecuteWait (@ScriptDir&"\livraison NCIA\GPO\LocalGPO.msi", '"/quiet /passive"')
$CMD = '"C:\Windows\system32\cmd.exe /t:17 /E:ON /F:ON /K prompt [COS CONSOLE] $P$G$"'
Run(@ComSpec & " /c " & $CMD)
Sleep(2000)
send ("C:")
Sleep(500)
send ("{ENTER}")
Sleep(500)
send ("cd C:\Users\csi\Desktop\autoitest\install 18.3\livraison NCIA\GPO")
Sleep(500)
send ("{ENTER}")
Sleep(500)
send ("LGPO.exe /g C:\Users\Public\Documents\{64DBA341-FCBC-4430-9D57-D2D513A1EA9F}")
send ("{ENTER}")
Sleep(50000)
send ("exit")
Sleep(500)
send ("{ENTER}")
EndFunc
J'ai un message d'erreur me disant que C:\Users\Public\Documents\6 n'existe pas
Quelle ponctuation dois-je utiliser?
AUTOIT et LocalGPo
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
Re: AUTOIT et LocalGPo
La commande Send essaie d'insérer la touche {64DBA341-FCBC-4430-9D57-D2D513A1EA9F}
Essaie la commande :
send ("LGPO.exe /g C:\Users\Public\Documents\\{64DBA341-FCBC-4430-9D57-D2D513A1EA9F\}")
Et pour écrire dans la fenêtre, le mieux est d'utiliser StdinWrite() en ayant au préalable utilisé :
Run($cmd, @ScriptDir, @SW_HIDE, $STDIN_CHILD + $STDERR_CHILD + $STDOUT_CHILD)
Je ne rentre pas dans les détails et te laisse consulter l'aide si tu es intéressé.
Essaie la commande :
send ("LGPO.exe /g C:\Users\Public\Documents\\{64DBA341-FCBC-4430-9D57-D2D513A1EA9F\}")
Et pour écrire dans la fenêtre, le mieux est d'utiliser StdinWrite() en ayant au préalable utilisé :
Run($cmd, @ScriptDir, @SW_HIDE, $STDIN_CHILD + $STDERR_CHILD + $STDOUT_CHILD)
Je ne rentre pas dans les détails et te laisse consulter l'aide si tu es intéressé.
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Re: AUTOIT et LocalGPo
merci jpascal,
je viens de tester et ça fonctionne en mettant le premier \ après { au lieu de le mettre avant.
Encore une fois, merci pour ton aide.
je viens de tester et ça fonctionne en mettant le premier \ après { au lieu de le mettre avant.
Encore une fois, merci pour ton aide.
Re: AUTOIT et LocalGPo
Bonjour jpascal. Comme tu me l’as demandé en MP, je te repose ma question directement sur le forum.
cheap66 a écrit :ven. 24 août 2018 09:33 Bonjour jpascal,
Sais-tu comment je pourrais faire pour pouvoir sélectionner le répertoire en question (par exemple avec FileSelectFolder) puis utiliser la valeur en question pour recréer la commande à envoyer après mon LGPO.exe?
exemple fileselectfolder me ressort C:\répertoire\{2156453353531544561586}
et je voudrais pouvoir lancer la commande
send ("LGPO.exe /g C:\répertoire\{\2156453353531544561586\}")
Merci d'avance pour tes propositions.
Cheap
Sujet : AUTOIT et LocalGPo
jpascal a écrit : ↑lun. 02 juil. 2018 14:06 La commande Send essaie d'insérer la touche {64DBA341-FCBC-4430-9D57-D2D513A1EA9F}
Essaie la commande :
send ("LGPO.exe /g C:\Users\Public\Documents\\{64DBA341-FCBC-4430-9D57-D2D513A1EA9F\}")
Et pour écrire dans la fenêtre, le mieux est d'utiliser StdinWrite() en ayant au préalable utilisé :
Run($cmd, @ScriptDir, @SW_HIDE, $STDIN_CHILD + $STDERR_CHILD + $STDOUT_CHILD)
Je ne rentre pas dans les détails et te laisse consulter l'aide si tu es intéressé.
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: AUTOIT et LocalGPo
Faut penser au paramètre "raw" de Send()

$folder = "C:\répertoire\{2156453353531544561586}" ; retour de FileSelectFolder
send ("LGPO.exe /g " & $folder, 1)
send ("LGPO.exe /g " & $folder, 1)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: AUTOIT et LocalGPo
Bonsoir mikell, merci pour ta réponse.
Le souci que j'ai est que les {} ne sont pas comprises, il faut rajouter un \ après le { et un \ avant le \ et c'est cela que je ne sais pas faire.
Le souci que j'ai est que les {} ne sont pas comprises, il faut rajouter un \ après le { et un \ avant le \ et c'est cela que je ne sais pas faire.
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: AUTOIT et LocalGPo
Ah ? chez moi ça marche... mais si c'est indispensable tu peux faire comme ça
$folder = FileSelectFolder(....)
$folder = StringRegExpReplace($folder, '(?<=\{)|(?=\})', "\\")
;Msgbox(0,"", $folder)
send ("LGPO.exe /g " & $folder, 1)
$folder = StringRegExpReplace($folder, '(?<=\{)|(?=\})', "\\")
;Msgbox(0,"", $folder)
send ("LGPO.exe /g " & $folder, 1)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: AUTOIT et LocalGPo
Merci mikell,
tu avais raison, il n'y avait pas besoin de rajouter les \.
ça fonctionne à merveille.
Je te remercie encore.
tu avais raison, il n'y avait pas besoin de rajouter les \.
ça fonctionne à merveille.
Je te remercie encore.