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.
Usa la clase de .NET
NetworkInterface
Framework.Use el
NetworkInterface.GetAllNetworkInterfaces
método para obtener unaNetworkInterface
matriz. A continuación, vaya aNetworkInterface
través de la matriz para buscar unaNetworkInterface
instancia que tenga la propiedad establecida comoNetworkInterface.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.Use la
GetAdaptersAddresses
API.Usa la
GetAdaptersAddresses
API para obtener laIP_ADAPTER_ADDRESSES
estructura. A continuación, vaya a través de la lista vinculada de estructuras paraIP_ADAPTER_ADDRESSES
buscar un elemento que tenga el miembro establecido comoIfType
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")