管理の観点から、会社内の全てのホストのコンピュータネームを調べたい場合があります。
ホストの台数が少なければ1台1台調べていってもいいですが、ホストの台数が多い場合はそういうわけにはいきません。
そこで、
ping コマンドの
-a オプションを利用して、あるセグメント内の全てのホストのIPアドレスからコンピュータネームを調べるバッチファイルを作成します。
このバッチファイルはping実行時に名前解決を行ってるため、バッチファイルが終了するまで多少時間がかかります。
またバッチファイル実行時にホストの電源が入ってない場合や、偶然ネットワークケーブルを抜いている場合などはpingの応答が返ってこないためコンピュータネームを調べることはできません。
下記バッチファイルの例では、192.168.1セグメント内の0~255までのホストのIPアドレスからコンピュータネームを調べています。
@echo off
for /l %%a in (0,1,255) do (ping -a -n 1 -w 1 192.168.1.%%a | find "Pinging") >> hostname-ip.txt
notepad hostname-ip.txt
goto :EOF
forコマンドを使用して、pingコマンドを繰り返し実行しています。そしてfindコマンドで、pingコマンドの出力結果を絞り、その出力結果をhostname-ip.txtファイルに追加書きしています。
最後にメモ帳を起動してhostname-ip.txtを開いています。
forコマンドの詳しい使い方は
こちらを見てください。
pingコマンドの詳しい使い方は
こちらを見てください。
findコマンドの詳しい使い方は
こちらを見てください。