IPアドレスがわかると「ProcessStartInfo()」を使って「nbtstat」に“-A”オプション付きでIPアドレスを渡し、MACAddressを取得できそうな気配。
というわけで、まずはHOST NameからIPアドレスを返すプログラム。
なんでこんな面倒なことをやっているのか、なんていう突っ込みはナシね。
生成された実行ファイルにLAN上に存在するホスト名を渡すとIPアドレスを返してくれます。


Option Explicit
Option Strict

Imports System
Imports System.Net

Class HOGE
Shared Sub Main(ByVal cmdArgs() As String)
System.Console.WriteLine(cmdArgs(0) & " : " & HostToIP(cmdArgs(0)))
End Sub

Shared Function HostToIP( ByVal hostName As String ) As String
Try
Dim hostInfo As IPHostEntry = System.Net.Dns.GetHostByName(hostName)
Dim address As IPAddress() = hostInfo.AddressList
Dim strAddress As String = ""
Dim index As Integer

For index = 0 To address.Length -1
strAddress = strAddress & address(index).ToString
Next index
return strAddress
Catch err As Exception
System.Console.WriteLine(err.Message)
End Try
End Function
End Class

コンパイルオプションは以下のとおり。

> vbc /r:system.dll /debug+ .vb