Pregunta

Estoy escribiendo un script de PowerShell que actuará como una prueba de cumplimiento de construcción para nuestros servidores. Una de las cosas que tengo que hacer es detectar si la red IPv6 ha sido deshabilitado.

WMI indica que esta información se puede encontrar en la Propiedad Dirección IP de Win32_NetworkAdapterConfiguration pero puede ser tanto IPv6 o IPv4. Esto no me da un "sí / no" Tengo la esperanza de encontrar.

Otras advertencias son que yo preferiría no raspar los datos accediendo directamente el registro, ni raspar de la salida de un comando como ipconfig.

Teniendo en cuenta nuestro entorno tiene una mezcla de máquinas 2003/2008, puede alguien pensar en una manera de probar para IPv6?

Saludos

¿Fue útil?

Solución 3

En realidad, un colega se le ocurrió una buena manera de hacerlo - un poco torpe, pero las obras. :)

$IPV6 = $false
$arrInterfaces = (Get-WmiObject -class Win32_NetworkAdapterConfiguration -filter "ipenabled = TRUE").IPAddress

foreach ($i in $arrInterfaces) {$IPV6 = $IPV6 -or $i.contains(":")}

write-host $IPV6

Otros consejos

Puede utilizar la forma .NET:

Write-Host 'OS Supports IPv6: ' $( [System.Net.Sockets.Socket]::OSSupportsIPv6 )

La propiedad será verdadera si es posible crear un socket de datagramas IPv6. Esta propiedad también se ve afectada por el archivo machine.config mundial, por lo que el estado de IPv6 no siempre es exacta.

Editar: Para probar esto en una máquina remota, aún puede utilizar PowerShell, pero tiene que tener instalado PowerShell 2.0 y WinRM habilitado

.

Si se cumplen estas dos condiciones, entonces es probable que pueda usar Invoke-Command para hacer eso.

Las pruebas de IPv6 por lo general sería más complicado que una respuesta sí / no con XP que tiene,

  1. ¿Es la " versión 6 Microsoft TCP / IP" componente de red instalado.
  2. ¿Hay un adaptador tiene una dirección IPv6 -. Cabría suponer por lo general (1) implica (2)
  3. Si un adaptador tiene un alcance global IPv6, es decir, no sólo un local de fe80 :: prefijo de dirección o de bucle de retorno de interfaz de enlace, :: 1.

Presumaly (1) se puede encontrar con un script de PowerShell como se ha demostrado por Microsoft:

http: //gallery.technet .microsoft.com / ScriptCenter / es-es / c4eb1596-7ac9-4be7-A711-b43446a3e3df

Si desea comprobar específicamente que IPv6 está activado y funcionando, yo diría que la mejor forma sería la de tratar de conectarse a un host de prueba. De esta manera, no sólo le permite probar un cierto ajuste de software específico, sino que también averiguar de manera que toda la configuración de enrutamiento y todo a su alrededor que funciona como debiera.

Esto es lo que no quiere hacer, pero parece que el mejor método, repasando la salida que interfaz netsh ofrece.

Es posible que desee mira aquí para lo que está buscando . Su aplicación sería más sencillo, pero interactuando sobre los resultados netsh interface ipv6 show interfaces es todo lo que necesita, si usted encuentra las interfaces, que está habilitado en alguna parte, si no encuentra alguna, no lo es.

No he probado esto, pero la clase de .NET zócalo tiene una propiedad OSSupportsIPv6. Así que algo en la línea

[System.Net.Sockets]::OSSupportsIPv6

La documentación dice "cierto si el sistema operativo y los adaptadores de red compatibles con el protocolo IPv6, de lo contrario, falso." No me queda claro si eso significa que el valor se basa en lo que el sistema operativo es capaz de hacer, o lo que está configurado para.

Me veía esto en mi ayuda local, por lo que no tienen un enlace de MSDN práctico. No debería ser muy difícil de encontrar.

Sé que esto es un hilo viejo, pero que necesitaba para comprobar lo mismo.

Para comprobar unión para un uso específico del adaptador IPv6:

 Get-NetAdapterBinding -Name 'NameOfNic' -ComponentID ms_tcpip6

Esto le dará al estado habilitado para ese adaptador.

Si quiere simplemente recuperar ese estado puede usar:

 (Get-NetAdapterBinding -Name 'NameOfNic' -ComponentID ms_tcpip6).Enabled

Espero que esto ayude. Hice comprobar que esto funciona ya en 2012. docs.microsoft.com no incluyó versiones inferiores por defecto para 2012 / Win8

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top