Effacez tous et uniquement les itinéraires persistants (statiques) sous Windows


8

Existe-t-il un moyen simple de le faire via une commande / batch shell? Un VBScript serait également correct.

Réponses:


9

Pour effacer tous les itinéraires, utilisez:

route -f

Pour effacer uniquement les itinéraires persistants, vous pouvez utiliser

reg supprimer HKLM \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ PersistentRoutes / va / f
mais cela ne les supprimera pas des itinéraires actuellement actifs.


J'ai beaucoup de routes persistantes, mais je n'en vois aucune sur cette clé de registre. Sont-ils stockés ailleurs ces jours-ci (Windows 10)?
NickG

@ NickG: pas sûr. Parlez-vous des routes IPv4 ou IPv6?
user1686

0

Voici un script cmd qui extrait les routes statiques du registre et émet des route deletecommandes pour chacune d'elles.

Cette méthode les supprime à la fois de la liste stockée des itinéraires persistants et des itinéraires actuellement actifs.

@echo off
set key=HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes
for /f "tokens=1,2,3,* delims=," %%i in ('reg query %key% ^| find "REG_SZ"') do (
   route delete %%i mask %%j %%k
)

0

Cela peut être fait comme une boucle for basique vous permettant d'effacer correctement les routes pour les routes existantes et futures.

(Et sans s'impliquer dans la révision ou la modification des éléments du registre) à l'aide d'une simple impression d'itinéraire routée dans une recherche et bouclée dans une suppression d'itinéraire.

FOR /F "TOKENS=1-5" %a IN ('ROUTE PRINT ^| FIND /I /V "On-Link" ^| FINDSTR /E /R /C:" *\.[0-9]*[0-9] *[0-9][0-9]*"') DO @(IF /I "%~e" EQU "" ( ROUTE DELETE %a MASK %b %c  ) )
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.