La Win32_NetworkAdapterConfiguration no puede recuperar información sobre PPPoE (protocolo punto a punto a través de Ethernet) y VPN (red privada virtual)

Este artículo te ayuda a resolver el problema en el que su clase no puede recuperar información sobre PPPoE (protocolo punto a punto a través de Ethernet) y VPN (red privada Win32_NetworkAdapterConfiguration virtual).

Se aplica a:   Windows Vista
Número KB original:   2549091

Síntomas

En Windows Vista y versiones posteriores, la clase no puede recuperar información sobre una conexión Win32_NetworkAdapterConfiguration PPPoE y una conexión VPN.

Si un programa está diseñado para obtener la información sobre la conexión de acceso telefónico o una red privada virtual mediante la clase en Windows XP, es posible que no funcione en Windows Vista y versiones Win32_NetworkAdapterConfiguration posteriores.

Para obtener más información acerca Win32_NetworkAdapterConfiguration de la clase, vea Win32_NetworkAdapterConfiguration clase.

Causa

En Windows Vista y versiones posteriores, la clase no crea una instancia para una conexión Win32_NetworkAdapterConfiguration PPPoE o vpn. Microsoft ha confirmado que esto es un problema en nuestro producto.

Solución

En Windows Vista y versiones posteriores, puedes recuperar casi la misma información que la clase con respecto a una conexión PPPoE o vpn mediante cualquiera de Win32_NetworkAdapterConfigurationthe los métodos siguientes. Sería muy recomendable si considera que cualquiera de los métodos siguientes es aceptable.

  1. Usa la clase de .NET NetworkInterface Framework.

    Use el NetworkInterface.GetAllNetworkInterfaces método para obtener una NetworkInterface matriz. A continuación, vaya a NetworkInterface través de la matriz para buscar una NetworkInterface instancia que tenga la propiedad establecida como NetworkInterface.NetworkInterfaceType Ppp. Cada valor de una conexión PPPoE o VPN se puede recuperar haciendo referencia a cada propiedad que tenga esta instancia.

    Para obtener más información sobre NetworkInterface la clase o el código de ejemplo para esto, consulta Clase NetworkInterface.

    Para obtener más información sobre cada propiedad de la NetworkInterface clase, consulta Clase NetworkInterface.

  2. Use la GetAdaptersAddresses API.

    Usa la GetAdaptersAddresses API para obtener la IP_ADAPTER_ADDRESSES estructura. A continuación, vaya a través de la lista vinculada de estructuras para IP_ADAPTER_ADDRESSES buscar un elemento que tenga el miembro establecido como IfType IF_TYPE_PPP . Cada valor de una conexión PPPoE o VPN se puede recuperar haciendo referencia a cada miembro del elemento.

    Para obtener más información sobre la API o el código de ejemplo para esto, vea la función GetAdaptersAddresses GetAdaptersAddresses (iphlpapi.h).

    Para obtener más información sobre cada miembro de la IP_ADAPTER_ADDRESSES estructura, vea IP_ADAPTER_ADDRESSES_LH estructura (iptypes.h).

Pasos para reproducir

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")