Link to home
Start Free TrialLog in
Avatar of hamda000
hamda000Flag for Canada

asked on

Get remote pc mac address with vb.net

Hi,
I'm working on a local application that retrieve a network card physical address. Here is my code:

Private Sub frmRemoteMacAddress_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim theNetworkInterfaces() As System.Net.NetworkInformation.NetworkInterface = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()

        For Each currentInterface As System.Net.NetworkInformation.NetworkInterface In theNetworkInterfaces

            If currentInterface.OperationalStatus = Net.NetworkInformation.OperationalStatus.Up And currentInterface.NetworkInterfaceType.ToString() = "Ethernet" Then

 lblRequestedMacAddress.Text = currentInterface.GetPhysicalAddress().ToString()
                    ' lblNicModel.Text = currentInterface.Description.ToString()
                End If
        Next
    End Sub

Therefor, this code retrieve only the local mac address.
Can anyone correct me please?
Thanks.
Avatar of Casirus
Casirus

i found a few things like this before here is a code that gets it with WMI

to use this code you need to import System.Management and System.Management.Instrumentation namespaces

what it does is sends a request to a remote network computer to get the info

if its over the internet your wanting to do this then i would need to do some more looking

let me know if this helps

D.L.H.

Dim tm As New ManagementScope("\\" & ComputerName & "\root\cimv2")
        Dim tq as new string = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 1"

        Dim toq As New ObjectQuery(tq)

        Dim ts As New ManagementObjectSearcher(tm, toq)
        Dim trc As ManagementObjectCollection = ts.get()

        For Each cr As ManagementObject In trc
            MessageBox.Show(cr("MacAddress").ToString())
        Next

Open in new window

Avatar of hamda000

ASKER

Hi,

Thanks for the answer.
first the following statement has error:
Dim tq as new string = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 1"
The error is: end of statement expected.
Dim toq As New ObjectQuery(tq):
Error: tq is not declared.
We should may be write it this way:
Dim tq as new string( "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 1")
NO error

Second error in this line:
For Each cr As ManagementObject In trc
trc is underlined and have this statement:
Expression is of type 'RemoteComputerInfos.ManagementObjectCollection' which is not collection type.

Please take note that RemoteComputerInfos is the name of my application (Solution).

Thanks for correcting or submitting new items. I'm still working on.
Avatar of Nasir Razzaq
Have you added

Imports System.Management

at the top and added reference to it as well?
Yes I did.
ahh ok sorry for taking so long but here is the way to fix it use the following edited code and follow the instructions at the bottom

 Dim tm As New ManagementScope("\\" & ComputerName & "\root\cimv2")
        Dim tq As String = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 1"
        Dim toq As New ObjectQuery(tq)

        Dim ts As New ManagementObjectSearcher(tm, toq)
        Dim trc As ManagementObjectCollection = ts.get()

        For Each cr As ManagementObject In trc
            MessageBox.Show(cr("MacAddress").ToString())
        Next

right click on references in solution explorer go to add reference and add System.Management.dll and  System.Management.Instrumentation.dll into the project.

and then try again :)
Thank you.

Therefore I right click or double click on the My project (I am on VS 2010), I'm on the references tab, I choose the .com where are stored the .dll files and I click on Add but in the references list there are no System.Management.dll or System.Management.Instrumentation.dll

Sorry and thanks anyway
for the affore mentioned dlls are located in .NET not .COM

sorry for not pointing this out to start

DLH
ASKER CERTIFIED SOLUTION
Avatar of hamda000
hamda000
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
HI everyone,

Sorry but all solutions displayed are did not fix my project. Please find attached a .sln file including my project. Some words are in french but I know you undrstand. If you need more files just let me know or tell me how I can upload the whole project.

Thanks.
Remote-Computer-Infos.vb
thanks.