Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 252
  • Last Modified:

PInging by IP Address

Hi guys hope you are well and can help.

I currently run this script by determining if a host is up by pinging its hostname.
What i would like to do though is modify the below script to instead pinging by hostname, ping by its ip address.
Any help greatly appreciated.
@echo off
setlocal enabledelayedexpansion
for /f %%c in (computers.txt) do (
  call :GETINFO %%c
  echo %%c: !Availability!>>availability.txt
)
goto :eof
 
:GETINFO
if [%1]==[] goto :eof
Set Availability=
ping %1 -n 2 -w 100 >nul 2>&1  
If %errorlevel%==1 goto DOWN
 
echo %1: Up
Set Availability=Up
goto :eof
 
:DOWN
echo %1: Down
Set Availability=Down

Open in new window

0
Simon336697
Asked:
Simon336697
3 Solutions
 
Giovanni HewardCommented:

@echo off
setlocal enabledelayedexpansion
for /f %%c in (computers.txt) do (
  call :GETINFO %%c
  echo %%c: !Availability!>>availability.txt
)
goto :eof
 
:GETINFO
if [%1]==[] goto :eof
Set Availability=
for /f "tokens=1-6 delims=[.] " %%a in ('ping %1 -n 1 ^| find "["') do set ip=%%c.%%d.%%e.%%f
ping %ip% -n 2 -w 100 >nul 2>&1  
If %errorlevel%==1 goto DOWN
 
echo %1 [%ip%]: Up
Set Availability=Up
goto :eof
 
:DOWN
echo %1 [%ip%]: Down
Set Availability=Down

Open in new window

0
 
AmazingTechCommented:

@echo off
setlocal enabledelayedexpansion
for /f %%c in (computers.txt) do (
  call :GETINFO %%c
  echo %%c [!ip!]: !Availability!>>availability.txt
)
goto :eof
 
:GETINFO
if [%1]==[] goto :eof
Set Availability=
for /f "tokens=2 delims=[]" %%a in ('ping %1 -n 1 ^| find "["') do set ip=%%a
ping %ip% -n 2 -w 100 >nul 2>&1  
If %errorlevel%==1 goto DOWN
 
echo %1 [%ip%]: Up
Set Availability=Up
goto :eof
 
:DOWN
echo %1 [%ip%]: Down
Set Availability=Down

Open in new window

0
 
Bill BachPresidentCommented:
I hate to ask the obvious question here, but... WHY???

The solutions provided to ping the server by IP address need to ping by name first to ascertain the host name.  At that point, why are you wasting time with the ping by IP address?

If you are having a problem with DNS, then the machine may ALSO be unreachable, and it is VERY important to know that pinging by HostName is failing.  If pinging by hostname fails, but pinging by address succeeds, is the system really functional?  What if a second server came up with the same hardcoded IP address?  This would seem to say that a PING by IP address might succeed even if the expected hostname computer were unavailable.

Maybe you have some need that I am just not able to comprehend, but I'm always trying to learn, too.
0
 
Simon336697Author Commented:
Thanks guys to all 3 of you.

Bill, nslookup is a DNS-specific lookup tool, which is why id prefer to use that instead of ping.

The other thing about using nslookup is that you can query the DNS database without the machine being online.

Thanks to all of you really appreciate all your help.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now