La Win32_NetworkAdapterConfiguration ne parvient pas à récupérer des informations sur PPPoE (protocole point à point sur Ethernet) et VPN (réseau privé virtuel)

Cet article vous aide à résoudre le problème où sa classe ne parvient pas à récupérer des informations sur PPPoE (protocole point à point sur Win32_NetworkAdapterConfiguration Ethernet) et VPN (réseau privé virtuel).

S’applique à :   Windows Vista
Numéro de la ko d’origine :   2549091

Symptômes

Sur Windows Vista et les ultérieurs, la classe ne peut pas récupérer des informations sur une connexion PPPoE et une Win32_NetworkAdapterConfiguration connexion VPN.

Si un programme est conçu pour obtenir les informations sur la connexion d’accès à l’accès ou un réseau privé virtuel à l’aide de la classe sur Windows XP, il se peut qu’il ne fonctionne pas sur Windows Vista et Win32_NetworkAdapterConfiguration ultérieurement.

Pour plus d’informations sur Win32_NetworkAdapterConfiguration la classe, voir Win32_NetworkAdapterConfiguration classe.

Cause

Sur Windows Vista et les ultérieures, la classe ne crée pas d’instance pour une Win32_NetworkAdapterConfiguration connexion PPPoE ou une connexion VPN. Microsoft a confirmé qu’il s’agit d’un problème dans notre produit.

Résolution

Sur Windows Vista et les ultérieures, vous pouvez récupérer presque les mêmes informations que la classe concernant une connexion PPPoE ou une connexion VPN à l’aide de l’une des Win32_NetworkAdapterConfigurationthe méthodes suivantes. Il est vivement recommandé de considérer que l’une des méthodes suivantes est acceptable.

  1. Utilisez la classe .NET NetworkInterface Framework.

    Utilisez la NetworkInterface.GetAllNetworkInterfaces méthode pour obtenir un NetworkInterface tableau. Ensuite, traversez le tableau pour trouver une instance dont NetworkInterface la propriété est définie en NetworkInterface NetworkInterface.NetworkInterfaceType ppp. Chaque valeur d’une connexion PPPoE ou VPN peut être récupérée en référentant chaque propriété de cette instance.

    Pour plus d’informations sur NetworkInterface la classe ou l’exemple de code à ce sujet, voir La classe NetworkInterface.

    Pour plus d’informations sur chaque propriété de la classe, voir NetworkInterface NetworkInterface Class.

  2. Utilisez GetAdaptersAddresses l’API.

    Utilisez GetAdaptersAddresses l’API pour obtenir la IP_ADAPTER_ADDRESSES structure. Ensuite, traversez la liste liée des structures pour trouver un élément IP_ADAPTER_ADDRESSES dont le membre est définie comme IfType IF_TYPE_PPP . Chaque valeur d’une connexion PPPoE ou VPN peut être récupérée en référentant chaque membre de l’élément.

    Pour plus d’informations sur l’API ou l’exemple de code à ce sujet, voir la fonction GetAdaptersAddresses GetAdaptersAddresses (iphlpapi.h).

    Pour plus d’informations sur chaque membre de la IP_ADAPTER_ADDRESSES structure, voir IP_ADAPTER_ADDRESSES_LH structure (iptypes.h).

Étapes à reproduire

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