You can type:

NBTSTAT -c

and receive a display similar to:

<b>
Node IpAddress: \[0.0.0.0\] Scope Id: \[\]
            NetBIOS Remote Cache Name Table
    Name            Type            Host Address    Life \[sec\]
------------------------------------------------------------
GREYSTONE             UNIQUE      192.168.1.30        010</b>
If the user is not listed, type:

net send jennifer hello
NBTSTAT -c

<b>
Node IpAddress: \[0.0.0.0\] Scope Id: \[\]
              NetBIOS Remote Cache Name Table
    Name            Type            Host Address    Life \[sec\]
------------------------------------------------------------
JENNIFER              UNIQUE      192.168.1.20        001
GREYSTONE             UNIQUE      192.168.1.30        013</b>
If you need to do this in a batch job, call WhatIP UserName. It will return the whatip environment variable with the IP address, or a 0 if the user is not found.

Example:

call whatip Jennifer
if "%whatip%"

"0" goto notfound

WHATIP.BAT contains:

@echo off
set whatip=
if "%1"

"" goto syntax
set userv=%1
set userv=%userv:"=%
:again
nbtstat -c|find /i "%userv%" > %temp%\where.log
for /f "Tokens=1-7* Delims=. " %%i in (%temp%\where.log) do call :parse "%%i" "%%j" "%%k" "%%l" "%%m" "%%n" "%%o"
if "%whatip%"

"" goto donbt
if exist %temp%\where.log del /q %temp%\where.log
set userv=
goto end
:syntax
@echo Syntax: Where UserName
goto end
:parse
if /i not %1

"%userv%" goto donbt
if /i not %2

"" goto end
set whatip=%4%5%6%7
set whatip=%whatip:""=.%
set whatip=%whatip:"=%
goto end
:donbt
if "%whatip%"

"0" goto end
net send "%userv%" Ignore this interruption
set whatip=0
goto again
:end

You could try using NTNAME instead of NET SEND.