Why enable IPv6?

there are various reasons for this. One that might not be so obvious is because there are more and more applications that need IPv6 and rely on the fact that IPv6 is enabled by default (on Windows Vista or Windows Server 2008)

Turning IPv6 off brings you on untested grounds resulting in components that no longer function.

Support has solved a lot of problems that could have been avoided by keeping IPv6 turned on.

For more information on this please read Support for IPv6 in Windows Server 2008 R2 and Windows 7

So how to do this:

checkIPv6 from the cmd line in case someone has unchecked IPv6 mistakenly.

This is especially useful when you have no GUI – e.g. on Server Core / Hyper-V Server or when you need to check network connection properties | network settings like below for an unattended installation.

Using WMI or other built-in tools seem to be a dead end. Doing so in the registry is one way.

Here is an unsupported tool that you could use at your own risk:

NVSPBind is the tool that lets you enable protocols (e.g. IPv6) on a network adapter using the command line:

nvspbind.exe /e "Local Area Connection" ms_tcpip6

ms_netbios NetBIOS Interface
ms_server File and Printer Sharing for Microsoft Networks
ms_pacer QoS Packet Scheduler
ms_ndiscap NDIS Capture LightWeight Filter
ms_wfplwf WFP Lightweight Filter
ms_msclient Client for Microsoft Networks
ms_lltdio Link-Layer Topology Discovery Mapper I/O Driver
ms_rspndr Link-Layer Topology Discovery Responder
ms_ndisuio NDIS Usermode I/O Protocol
ms_pppoe Point to Point Protocol Over Ethernet
ms_tcpip6 Internet Protocol Version 6 (TCP/IPv6)
ms_netbt WINS Client(TCP/IP) Protocol
ms_smb Microsoft NetbiosSmb
ms_tcpip Internet Protocol Version 4 (TCP/IPv4)
vms_pp Microsoft Virtual Network Switch Protocol

Download NVSBind from MSDN.

Links: