J'ai trouvé ce lien , qui semble plus ou moins répondre au problème, bien que le script Linux ci-dessus fonctionne plutôt mieux. J'ai constaté que le code de fin de processus à la fin ne fonctionnait pas correctement, alors je l'ai retiré et tout allait bien. J'ai également changé les commandes de service en ligne avec la discussion ci-dessous et fini avec: -
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd"
WScript.Sleep 100
WshShell.AppActivate "C:\Windows\system32\cmd.exe"
WScript.Sleep 1000
WshShell.SendKeys "telnet 192.168.0.1~"
WScript.Sleep 1000
WshShell.SendKeys "admin~"
WScript.Sleep 1000
WshShell.SendKeys "admin~"
WScript.Sleep 2000
WshShell.SendKeys "wan set service pppoa_0_38_0_d --protocol pppoa --conntrigger manual~"
WScript.Sleep 12000
WshShell.SendKeys "~"
WScript.Sleep 1000
WshShell.SendKeys "wan set service pppoa_0_38_0_d --protocol pppoa --conntrigger always~"
WScript.Sleep 6000
WshShell.SendKeys "~"
WScript.Sleep 1000
WshShell.SendKeys "logout~"
WScript.Sleep 6000
WshShell.SendKeys "~"
WScript.Sleep 1000
WshShell.SendKeys "exit~"
Il vous suffit de copier ceci dans un fichier avec un .vbs
suffixe, de le modifier pour mettre à jour l'adresse IP du routeur, l'utilisateur et le mot de passe de connexion, ainsi que le nom et le protocole du service. Pour ce dernier, vous devrez vous connecter telnet
manuellement et taper:
wan show service
Dans votre cmd
script, appelez le script modifié avec:
start [/wait] reconnect.vbs
Utilisez cette option /wait
si vous souhaitez que le script se termine avant de passer à la commande suivante.
Un problème que j’ai trouvé est que si appelé lorsque le routeur est en ligne, il le laisse dans un état déconnecté, mais l’augmentation du délai entre les deux appels de service a corrigé le problème et vous devrez peut-être modifier ce ou certains des autres délais.