The Win32_NetworkAdapterConfiguration class is unable to retrieve information about PPPoE (Point-to-point protocol over Ethernet) and VPN (Virtual Private Network)
This article helps you resolve the problem where he Win32_NetworkAdapterConfiguration
class is unable to retrieve information about PPPoE (Point-to-point protocol over Ethernet) and VPN (Virtual Private Network).
Applies to: Windows Vista
Original KB number: 2549091
Symptoms
On Windows Vista and later, the Win32_NetworkAdapterConfiguration
class is unable to retrieve information about a PPPoE connection and VPN connection.
If a program is designed to get the information about the dial-up connection or a virtual private network by using the Win32_NetworkAdapterConfiguration
class on Windows XP, it may not work on Windows Vista and later.
For more information about the Win32_NetworkAdapterConfiguration
class, see Win32_NetworkAdapterConfiguration class.
Cause
On Windows Vista and later, the Win32_NetworkAdapterConfiguration
class does not create an instance for a PPPoE connection or VPN connection.
Microsoft has confirmed that this to be a problem in our product.
Resolution
On Windows Vista and later, you can retrieve almost the same information as the Win32_NetworkAdapterConfigurationthe
class does regarding a PPPoE connection or VPN connection by using either of the following methods.
It would be highly appreciated if you consider that either of the following method is acceptable.
Use the .NET Framework
NetworkInterface
class.Use the
NetworkInterface.GetAllNetworkInterfaces
method to get aNetworkInterface
array. Then, go through theNetworkInterface
array to find aNetworkInterface
instance that has theNetworkInterface.NetworkInterfaceType
property set as Ppp. Each value of a PPPoE or VPN connection can be retrieved by referencing each property that this instance has.For more information on the
NetworkInterface
class or the sample code for this, see NetworkInterface Class.For more information on each property of the
NetworkInterface
class, see NetworkInterface Class.Use the
GetAdaptersAddresses
API.Use the
GetAdaptersAddresses
API to get theIP_ADAPTER_ADDRESSES
structure. Then, go through the linked list ofIP_ADAPTER_ADDRESSES
structures to find an element that has theIfType
member set asIF_TYPE_PPP
. Each value of a PPPoE or VPN connection can be retrieved by referencing each member of the element.For more information on the
GetAdaptersAddresses
API or the sample code for this, see GetAdaptersAddresses function (iphlpapi.h).For more information on each member of the
IP_ADAPTER_ADDRESSES
structure, see IP_ADAPTER_ADDRESSES_LH structure (iptypes.h).
Steps to reproduce
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for