La classe Win32_NetworkAdapterConfiguration ne peut pas récupérer d’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 Win32_NetworkAdapterConfiguration classe ne peut pas récupérer des informations sur PPPoE (protocole point à point sur Ethernet) et VPN (réseau privé virtuel).

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

Symptômes

Sur Windows Vista et versions ultérieures, la Win32_NetworkAdapterConfiguration classe ne peut pas récupérer d’informations sur une connexion PPPoE et une connexion VPN.

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

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

Cause

Sur Windows Vista et versions ultérieures, la Win32_NetworkAdapterConfiguration classe ne crée pas de instance pour une 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 versions ultérieures, vous pouvez récupérer presque les mêmes informations que la Win32_NetworkAdapterConfigurationthe classe concernant une connexion PPPoE ou une connexion VPN à l’aide de l’une des méthodes suivantes. Il serait très apprécié si vous considérez que l’une des méthodes suivantes est acceptable.

  1. Utilisez la classe .NET Framework NetworkInterface .

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

    Pour plus d’informations sur la NetworkInterface classe ou l’exemple de code, consultez Classe NetworkInterface.

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

  2. Utilisez l’API GetAdaptersAddresses .

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

    Pour plus d’informations sur l’API GetAdaptersAddresses ou l’exemple de code, consultez La fonction GetAdaptersAddresses (iphlpapi.h).

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

Étapes de reproduction

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