De nombreuses personnes qui ont commencé à utiliser une connexion ADSL via un modem USB ou ethernet s'étonnent, après avoir opté pour un modem-routeur (ou n'importe quelle Freebox, Livebox ou autre), de ne plus voir dans la zone de notification l'icône qui leur permettait, à volonté, de se connecter à internet ou de couper cette connexion. Rien de plus normal puisque c'est le routeur qui est connecté et non plus leur ordinateur. Certains de ces appareils offrent une option de connexion à la demande mais si ce n'est pas le cas, pour rompre cette connexion, l'une des solutions possibles est alors de couper le lien avec le réseau local ce qui n'est pas forcément une manipulation facile à exécuter.
Si le routeur est configuré en serveur DHCP (c'est lui qui attibue les adresses IP de chaque client) la commande ipconfig /release_all coupe tout lien avec le réseau local et donc isole la machine d'internet. La commande inverse, ipconfig /renew_all, rétablit cette liaison. Il suffit donc d'associer ces commandes à des raccourcis facilement accessibles pour retrouver une manière simple de se connecter ou de se déconnecter d'internet.
Dans la pratique, ces commandes seront passées par l'intermédiaire de scripts qui vont en même temps permuter les icônes connecté/déconnecté. Le raccourci permettant d'effectuer la commande release est affichée par le programme exécutant la commande renew et réciproquement. Comme on ne sait pas dans quel état on a laissé cette connexion, un troisième script initialisera le système au démarrage.
Deux modes de réalisation sont proposés, des fichiers de commandes (bat) et des scripts WSH (vbs). Passer par vbs ne raccourci pas le délai d'exécution de manière significative mais permet de masquer la fenêtre DOS fugitive.
Afficher une icône dans la zone de notification nécessite l'utilisation d'autres outils que ceux dont on dispose dans un fichier de commandes ou dans un script vbs. Le parti a donc été pris d'utiliser la barre de lancement rapide. On pourrait tout aussi bien se servir d'une barre d'outils personnelle. Pour faciliter l'adaptation a ses préférences, le nom du répertoire qui contient les raccourcis auxquelles les icônes connecté/déconnecté correspondent est affecté à une variable. Il en est de même pour le nom du répertoire destiné à recevoir les scripts, celui choisi ici étant tout à fait arbitraire.
Les conventions de nommage adoptées sont les suivantes : les 3 scripts portent les noms ip_rel, ip_ren et ip_ini (respectivement déconnexion, connexion et initialisation). Les raccourcis correspondant portent des noms identiques à ceux des fichiers auxquels ils renvoient. Il faut donc modifier les noms donnés par Windows. Seule l'extension fait la distinction entre un fichier et son raccourci. Bien que l'extension d'un fichier de type raccourci n'apparaisse pas dans l'Explorateur Windows, elle existe cependant bel et bien (pif pour une application DOS, lnk pour une application Windows).
On trouvera dans le fichier C:\Windows\System\Rnaapp.exe les icônes habituelles indiquant l'état connecté ou déconnecté.
Ces scripts comportent un dispositif de neutralisation d'un éventuel lancement en double généré, par exemple, par un double-clic intempestif.
Compte-tenu de la brièveté de chacun de ces programmes, ils ne sont pas disponibles sous forme téléchargeable. Il faut donc faire un copier-coller vers le bloc-notes et les enregistrer dans le répertoire de son choix.
Dans chacun des scripts, adapter les valeurs affectées aux variables QL et RPT à ses choix personnels. Placer ces scripts dans le répertoire choisi et y créer un raccourci pour chacun. Renommer les raccourcis comme indiqué ci-dessus puis déplacer celui correspondant à ip_ini vers le répertoire C:\Windows\Menu Démarrer\Démarrage. Redémarrer la machine.
Le fichier ip_ini.bat :
@echo off
set QL="C:\WINDOWS\Application Data\Microsoft\Internet
Explorer\Quick Launch"
set RPT="C:\Outils"
if exist %QL%\ip_rel.pif goto fin
if exist %QL%\ip_ren.pif del %QL%\ip_ren.pif
copy %RPT%\ip_rel.pif %QL% > nul
:fin
Le fichier ip_ren.bat :
@echo off
set QL="C:\WINDOWS\Application Data\Microsoft\Internet
Explorer\Quick Launch"
set RPT="C:\Outils"
if not exist %QL%\ip_ren.pif goto fin
del %QL%\ip_ren.pif
ipconfig /renew_all > nul
copy %RPT%\ip_rel.pif %QL% > nul
:fin
Le fichier ip_rel.bat :
@echo off
set QL="C:\WINDOWS\Application Data\Microsoft\Internet
Explorer\Quick Launch"
set RPT="C:\Outils"
if not exist %QL%\ip_rel.pif goto fin
del %QL%\ip_rel.pif
ipconfig /release_all > nul
copy %RPT%\ip_ren.pif %QL% > nul
:fin
L'utilisation des variables d'environnement QL et RPT n'est pas une obligation mais permet d'abréger les lignes de commandes où elles apparaissent. Au lieu de les définir dans chacun des programmes, on peut le faire de manière unique dans le fichier autoexec.bat.
Le fichier ip_ini.vbs :
ql = "C:\Windows\Application Data\Microsoft\Internet
Explorer\Quick Launch"
rpt = "C:\Outils"
Set fso = CreateObject("Scripting.FileSystemObject")
on error resume next
fso.DeleteFile(ql & "\ip_re*.lnk")
fso.CopyFile rpt & "\ip_rel.lnk", ql & "\"
Le fichier ip_ren.vbs :
ql = "C:\Windows\Application Data\Microsoft\Internet Explorer\Quick Launch"
rpt = "C:\Outils"
set fso = CreateObject("Scripting.FileSystemObject")
on error resume next
fso.DeleteFile ql & "\ip_ren.lnk"
if err.number = 0 then
    Set sh = WScript.CreateObject("WScript.Shell")
    sh.Run "ipconfig /renew_all", 0, true
    fso.CopyFile rpt & "\ip_rel.lnk",
ql & "\"
end if
Le fichier ip_rel.vbs :
ql = "C:\Windows\Application Data\Microsoft\Internet
Explorer\Quick Launch\"
rpt = "C:\Outils"
set fso = CreateObject("Scripting.FileSystemObject")
on error resume next
fso.DeleteFile ql & "\ip_rel.lnk"
if err.number = 0 then
    Set sh = WScript.CreateObject("WScript.Shell")
    sh.Run "ipconfig /release_all",
0, true
    fso.CopyFile rpt & "\ip_ren.lnk",
ql & "\"
end if
La liaison ave le réseau local est établie dès le démarrage. On peut toutefois préférer rester déconnecté. Il suffit pour cela de passer la commande release au niveau du fichier ip_ini.
Le fichier ip_ini.bat devient alors :
@echo off
ipconfig /release_all > nul
set QL="C:\WINDOWS\Application Data\Microsoft\Internet
Explorer\Quick Launch"
set RPT="C:\Outils"
if exist %QL%\ip_rel.pif del %QL%\ip_rel.pif
if exist %QL%\ip_ren.pif goto fin
copy %RPT%\ip_ren.pif" %QL% > nul
:fin
Et pour le fichier ip_init.vbs on a :
Set sh = WScript.CreateObject("WScript.Shell")
sh.Run "ipconfig /release_all", 0, true
ql = "C:\Windows\Application Data\Microsoft\Internet
Explorer\Quick Launch"
rpt = "C:\Outils"
Set fso = CreateObject("Scripting.FileSystemObject")
on error resume next
fso.DeleteFile(ql & "\ip_re*.lnk")
fso.CopyFile rpt & "\ip_ren.lnk", ql & "\"