.NET Framework Class Library
NetworkInterface..::.GetAllNetworkInterfaces Method

Returns objects that describe the network interfaces on the local computer.

Namespace:  System.Net.NetworkInformation
Assembly:  System (in System.dll)
Syntax

Visual Basic (Declaration)
Public Shared Function GetAllNetworkInterfaces As NetworkInterface()
Visual Basic (Usage)
Dim returnValue As NetworkInterface()

returnValue = NetworkInterface.GetAllNetworkInterfaces()
C#
public static NetworkInterface[] GetAllNetworkInterfaces()
Visual C++
public:
static array<NetworkInterface^>^ GetAllNetworkInterfaces()
JScript
public static function GetAllNetworkInterfaces() : NetworkInterface[]

Return Value

Type: array<System.Net.NetworkInformation..::.NetworkInterface>[]()[]
A NetworkInterface array that contains objects that describe the available network interfaces, or an empty array if no interfaces are detected.
Exceptions

ExceptionCondition
NetworkInformationException

A Windows system function call failed.

Remarks

The network interfaces on a computer provide network connectivity. Network interfaces are also known as network adapters.

Examples

The following code example displays Domain Name Service (DNS) configuration information for the local computer's network adapters.

Visual Basic
Public Shared Sub DisplayDnsConfiguration() 
    Dim adapters As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
    Dim adapter As NetworkInterface
    For Each adapter In  adapters
        Dim properties As IPInterfaceProperties = adapter.GetIPProperties()
        Console.WriteLine(adapter.Description)
        Console.WriteLine("  DNS suffix................................. :{0}", properties.DnsSuffix)
        Console.WriteLine("  DNS enabled ............................. : {0}", properties.IsDnsEnabled)
        Console.WriteLine("  Dynamically configured DNS .............. : {0}", properties.IsDynamicDnsEnabled)
    Next adapter

End Sub 'DisplayDnsConfiguration

C#
public static void DisplayDnsConfiguration()
{
    NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
    foreach (NetworkInterface adapter in adapters)
    {
        IPInterfaceProperties properties = adapter.GetIPProperties();
        Console.WriteLine(adapter.Description);
        Console.WriteLine("  DNS suffix .............................. : {0}",
            properties.DnsSuffix);
        Console.WriteLine("  DNS enabled ............................. : {0}", 
            properties.IsDnsEnabled);
        Console.WriteLine("  Dynamically configured DNS .............. : {0}", 
            properties.IsDynamicDnsEnabled);
    }
    Console.WriteLine();
}
Visual C++
void DisplayDnsConfiguration()
{
   array<NetworkInterface^>^adapters = NetworkInterface::GetAllNetworkInterfaces();
   System::Collections::IEnumerator^ myEnum10 = adapters->GetEnumerator();
   while ( myEnum10->MoveNext() )
   {
      NetworkInterface ^ adapter = safe_cast<NetworkInterface ^>(myEnum10->Current);
      IPInterfaceProperties ^ properties = adapter->GetIPProperties();
      Console::WriteLine( adapter->Description );
      Console::WriteLine( "  DNS suffix................................. :{0}", 
         properties->DnsSuffix );
      Console::WriteLine( "  DNS enabled ............................. : {0}", 
         properties->IsDnsEnabled );
      Console::WriteLine( "  Dynamically configured DNS .............. : {0}", 
         properties->IsDynamicDnsEnabled );
   }
}
CPP_OLD
void DisplayDnsConfiguration()
{
    NetworkInterface* adapters[] = NetworkInterface::GetAllNetworkInterfaces();
    System::Collections::IEnumerator* myEnum10 = adapters->GetEnumerator();
    while (myEnum10->MoveNext())
    {
        NetworkInterface* adapter = __try_cast<NetworkInterface*>(myEnum10->Current);
        IPInterfaceProperties* properties = adapter->GetIPInterfaceProperties();
        Console::WriteLine(adapter->Description);
        Console::WriteLine(S"  DNS suffix................................. :{0}",
            properties->DnsSuffix);
        Console::WriteLine(S"  DNS enabled ............................. : {0}",
            __box(properties->IsDnsEnabled));
        Console::WriteLine(S"  Dynamically configured DNS .............. : {0}",
            __box(properties->IsDynamicDnsEnabled));
    }
}
Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0
See Also

Reference

Tags :


Community Content

Thomas Lee
PowerShell sample
This sample performs the same actions as the above:

    
  
    
$nic = [system.Net.NetworkInformation.NetworkInterface]::GetAllNetworkInterfaces()
$nic | ForEach-Object { $_.GetIPProperties() } | Select-Object DnsSuffix, IsDnsEnabled, IsDynamicEnabled

Thomas Lee
Abovae sample not correct

There's a minor typo in the second line of the above sample.

A better one-liner sample might be:

[System.Net.Networkinformation.NetworkInterface]::GetAllNetworkInterfaces() | %{$_.getipproperties()} | ft dnssuffix,isdnsenabled,isdynamicDNSenabled -a


A detailed script is also at:
http://pshscripts.blogspot.com/2009/10/get-dnsinfops1.html


Page view tracker