Как я могу пинговать (из командной строки) принтер, не зная его IP. Как я могу найти IP-адрес принтера в командной строке?

2 ответа2

0

Если у вас есть принтер, подключенный к ПК с Windows, существуют различные команды powershell или WMI:

https://social.technet.microsoft.com/Forums/ie/en-US/77344a1d-4d0a-40bb-a8d8-75516ba12b0a/get-printer-names-ip-addresses-and-drivers-from-a-computer- используя-WMI? форум = ITCG

get-wmiobject win32_printer | select name

get-wmiobject win32_tcpipprinterport | select hostaddress

В зависимости от вашего принтера и драйверов, у него может не быть IP-адреса, и вам придется запрашивать WMI.

wmic printer get DriverName, Name, Portname 

Если это лазерный сетевой принтер HP, возможно, вы подключаетесь к порту 9100, и netstat покажет активные сетевые подключения из powershell:

netstat -an | grep 9100
0

Вы можете запустить пакетный файл, чтобы пройтись по адресам, пропинговать каждый в течение полсекунды и двигаться дальше. Это должно работать нормально, если у вас есть только одна или несколько подсетей. Если ваша сеть очень сложная, это может занять очень много времени. Вот пример сценария:

setlocal enabledelayedexpansion
set /a counter=0
:start
set /a counter+=1
ping -n 1 192.168.0.!counter! > devices.txt
if %counter%=255 goto finish
goto start
:finish

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .