Attention, Microsoft préconise de prioriser Ipv4 par rapport à Ipv6 au lieu de désactiver l'ipv6.
Désactiver Ipv6 peut allonger le démarrage de Windows de 5 secondes :
https://support.microsoft.com/en-us/help/929852/guidance-for-configuring-ipv6-in-windows-for-advanced-users
La bonne pratique revient donc à prioriser Ipv4 par rapport à Ipv6 en posant cette clé de registre
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters" /v "DisabledComponents" /t REG_DWORD /d 32 /f
Lien vers le fichier : cliquez ici
Pour supprimer ces entrées liées à IPv6
Utilisez ces commandes
netsh interface teredo set state disable
netsh interface 6to4 set state disabled
netsh interface isatap set state disabled
Lien vers le fichier : cliquez ici
Résultat
Un ipconfig retourne maintenant moins d'éléments
Pour complètement désactiver l'IPV6, de nombreux sites indiquent qu'il faut poser une clé de registre avec pour valeur fffffff, cad 255 en décimal, puis redémarrer la machine. Comme indiqué plus haut, ce n'est pas recommandé.
Si vous voulez tout de même le faire, la clé de registre peut être posée via la commande suivante :
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters" /v "DisabledComponents" /t REG_DWORD /d 255 /f
Lien vers le fichier : cliquez ici
Si vous êtes sur Windows 8.1, Window 2012 R2 et ultérieur, pour décocher la case IPV6 sur une carte réseau, vous pouvez utiliser et adapter la ligne de commande Powershell ci-dessous.
Remplacez bien "NomCarteReseau" par le vrai nom de votre carte réseau.
Attention : la commande Set-NetAdapterBinding n'est connue qu'à partir de PowerShell 4.0, et sur Windows 2008 R2, même si vous installez Powershell V4, la commande Set-NetAdapterBinding tout de même pas disponible.
Set-NetAdapterBinding -Name "NomCarteReseau" -ComponentID ms_tcpip6 -Enabled $False
Lien vers le fichier : cliquez ici
Pour les autres systèmes tel que Windows 2008, une méthode simple pour décocher la case d'ipv6 est de télécharger et d'utiliser nvspbind.exe
Comme avec PowerShell V4, commencez par relever le nom de la carte réseau à traiter, soit ici Connexion au réseau local
Ensuite, entrez le nom de la carte réseau en tant que paramètre à la commande nvspbind.exe. Exemple
nvspbind.exe /d "Connexion au réseau local" ms_tcpip6
Lien vers le fichier : cliquez ici
Exemple concret
Pour automatiser la manipulation sur toutes les cartes réseaux, vous pouvez utiliser ce vbs
Option Explicit
'List network cards with connected or Disconnected state
'http://msdn.microsoft.com/en-us/library/gg196652%28v=vs.85%29.aspx
Dim strComputer
Dim objWMIService, colItems, objItem
Dim varNbrCartes, varNomCarte
Dim WSHShell, Commande
Dim varIp, varMask, varGateway, varDNS, varSetDHCP
Dim CheminScriptActuel
CheminScriptActuel = Left(wscript.scriptfullname,Len(wscript.scriptfullname)-Len(wscript.scriptname)-1)
Wscript.echo "Liste des cartes réseaux connectées ou désactivées :"
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter Where AdapterType = 'Ethernet 802.3'")
'Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter Where NetConnectionId = 'Interne'")
Set WSHShell = CreateObject("WScript.Shell")
varNbrCartes = 0
varNomCarte = ""
For Each objItem in colItems
If (objItem.NetEnabled = True) Or (objItem.NetEnabled = False) Then 'Quand une carte est désactivée, elle ne retourne rien quand on interroge .NetEnabled A désactivée par contre elle retourne false, et si elle est connectée elle retourne true
varNomCarte = objItem.NetConnectionId
'Wscript.Echo "NetConnectionId: " & objItem.NetConnectionId
'Wscript.Echo "Name : " & objItem.Name
'Wscript.Echo "GUID : " & objItem.GUID
'Wscript.Echo "Description : " & objItem.Description
'Wscript.Echo "AdapterType : " & objItem.AdapterType
'Wscript.Echo "NetEnabled : " & objItem.NetEnabled
'Wscript.Echo "Availability : " & objItem.Availability
'objItem.Disable 'In order to disable the network card
Commande = CheminScriptActuel & "\nvspbind.exe /d """ & varNomCarte & """ ms_tcpip6"
Wscript.echo "Passage de la commande " & Commande
WSHShell.Run Commande
End If
Next
Set objWMIService = Nothing
Set WSHShell = Nothing
Lien vers le fichier : cliquez ici
Au pire vous pouvez décocher IPv6 sur votre carte réseau manuellement ...
En annexe la ligne de commande suivante permet de lister vos cartes réseaux actives
WMIC NICCONFIG WHERE IPENABLED=TRUE GET Description,SettingID,IPADDRESS /FORMAT:LIST
Lien vers le fichier : cliquez ici
Pages Web
Site Web | Description |
---|---|
hpc.mil | Site web indiquant la commande Powershell pour décocher IpV6 sur votre carte réseau |
Eniackb.blogspot.fr | Site indiquant comment décocher IPV6 via le registre |
Expta.com | Blog qui fourni un admx pour désactiver IPV6 par GPO |
Ingmarverheij.com | Article de Ingmar Verheij avec tout un tas d'optimisations réseau, à la base pour optimiser PVS |
Support.microsoft.com | Fix it de Microsoft. How to disable IPv6 or its components in Windows |
Téléchargement(s)
Nom | Site Web d origine | Description |
---|---|---|
Hyper-V_Network_VSP_Bind_... | https://gallery.technet.micros... | Permet de modifier les paramètres d'une carte réseau en ligne de commande |
Article(s) précédent(s)
Article(s) en relation(s)