Когда принтер отказывается печатать, а графический интерфейс Windows не даёт ясной картины проблемы, на помощь приходит командная строка. Этот инструмент позволяет диагностировать подключение, проверять очередь печати, тестировать драйверы и даже сбрасывать настройки без лишних кликов. В отличие от стандартных меню «Устройства и принтеры», команды CMD дают точные данные о состоянии устройства — от IP-адреса сетевого принтера до ошибок spooler-службы.

В этой статье вы найдёте уникальные команды для проверки принтеров всех типов — локальных (USB), сетевых и виртуальных. Мы разберём, как определить, видит ли система принтер вообще, как очистить зависшую очередь печати и даже как экспортировать список всех установленных драйверов для резервного копирования. Инструкции подходят для Windows 10/11 и большинства моделей принтеров (Canon, HP, Brother, Epson и др.).

1. Проверка подключения принтера к компьютеру

Первый шаг диагностики — убедиться, что Windows «видит» принтер на физическом или сетевом уровне. Для этого используем команды, которые проверяют USB-подключение или сетевую доступность устройства.

Для USB-принтеров выполните в CMD (от имени администратора):

wmic printer get name,portname,status

Эта команда выведет список всех принтеров с указанием порта (например, USB001) и статуса (Ожидание, Неизвестно или Ошибка). Если в столбце PortName пусто — принтер не подключён физически или драйвер не установлен.

Для сетевых принтеров проверьте доступность по IP:

ping 192.168.1.100

Замените 192.168.1.100 на реальный IP вашего принтера (узнать его можно через меню принтера или роутера). Если пинг не проходит (Заданный узел недоступен), проблема в сетевых настройках или кабеле.

💡

Если принтер подключён по Wi-Fi, но пинг не отвечает, попробуйте временно подключить его к роутеру по кабелю Ethernet — это поможет исключить проблемы с беспроводным модулем.

  • 🔌 USB-порт не определяется? Проверьте кабель или подключите принтер к другому порту. Иногда помогает отключение параметра Экономия энергии USB в диспетчере устройств.
  • 🌐 Сетевой принтер не пингуется? Убедитесь, что принтер и компьютер находятся в одной подсети (первые три цифры IP должны совпадать, например, 192.168.1.x).
  • 🖨️ Принтер виден, но статус «Ошибка»? Возможно, замятие бумаги или отсутствует тонер. Проверьте физическое состояние устройства.
📊 Какой тип подключения использует ваш принтер?
USB
Wi-Fi
Ethernet (сеть)
Bluetooth
Не знаю

2. Диагностика очереди печати через CMD

Зависшая очередь печати — одна из самых распространённых причин, почему принтер не реагирует на команды. Через командную строку можно не только увидеть все документы в очереди, но и принудительно очистить её, если графический интерфейс зависает.

Посмотреть текущую очередь:

net print \\%computername% /show

Эта команда выведет список всех принтеров на компьютере и документы, ожидающие печати. Обратите внимание на столбцы Status (статус) и Size (размер файла). Если документ висит с пометкой Printing уже несколько часов — очередь зависла.

Очистить очередь для конкретного принтера (замените Имя_принтера на реальное):

net stop spooler

del %systemroot%\System32\spool\printers\* /Q

net start spooler

Эти три команды последовательно останавливают службу печати, удаляют все файлы из очереди и запускают службу заново. После выполнения принтер должен вернуть статус Готов.

⚠️ Внимание: Если после очистки очереди принтер всё равно не печатает, проверьте, не установлен ли он как Использовать принтер в автономном режиме. Отключите этот параметр в свойствах принтера через графический интерфейс.
Команда Описание Пример вывода
net print Показывает все принтеры и их очереди \\PCNAME\HP_LaserJet: 2 файла
wmic printer list brief Краткий список принтеров с статусами Canon MG3600 Ожидание USB001
printui /s /t2 Открывает окно управления принтерами Графическое окно Свойства сервера печати

3. Проверка драйверов принтера

Неправильно установленные или повреждённые драйверы — вторая по частоте причина сбоев печати. Через командную строку можно проверить версию драйвера, его совместимость с системой и даже экспортировать список всех установленных драйверов для резервного копирования.

Посмотреть список всех драйверов принтеров:

pnputil /enum-drivers | find "Printer"

Эта команда выведет все драйверы, в имени которых есть слово Printer. Обратите внимание на столбцы:

  • Published Name — название драйвера (например, HP Universal Printing PCL 6),
  • Driver Version — версия (актуальная версия должна совпадать с официальной на сайте производителя),
  • Class Name — класс устройства (должен быть Printer).

Экспортировать список драйверов в файл (для анализа или резервной копии):

pnputil /enum-drivers > C:\printer_drivers.txt

Файл printer_drivers.txt сохранится на диске C:. Его можно открыть в блокноте и проверить, нет ли в списке устаревших или дублирующихся драйверов.

⚠️ Внимание: Если в выводе команды вы видите драйвер с пометкой (Legacy), это означает, что он установлен в режиме совместимости и может работать некорректно. Рекомендуется скачать актуальную версию с сайта производителя принтера.

Проверьте версию драйвера командой pnputil|

Сравните её с актуальной на сайте производителя|

Удалите дублирующиеся драйверы через Диспетчер устройств|

Перезагрузите компьютер после изменений-->

4. Тестирование сетевого принтера: порты и протоколы

Сетевые принтеры (особенно корпоративные модели Xerox, Ricoh или Kyocera) часто требуют специфических настроек портов. Через командную строку можно проверить, какой протокол используется для подключения (TCP/IP, WSD, LPR) и нет ли конфликтов с другими устройствами.

Посмотреть список всех портов принтера:

wmic printer get name,portname,shared

Обратите внимание на столбец PortName:

  • IP_192.168.1.100 — стандартный TCP/IP-порт,
  • WSD-xxxxxx — протокол Web Services for Devices (может работать нестабильно),
  • LPT1: или COM1: — устаревшие порты, используемые для локальных подключений.

Если принтер подключён по WSD, но печатает с задержками, попробуйте переподключить его вручную через TCP/IP:

  1. Удалите текущий принтер через Устройства и принтеры.
  2. Добавьте новый принтер, выбрав Добавить локальный принтерСоздать новый портStandard TCP/IP Port.
  3. Введите IP-адрес принтера и выберите правильный драйвер.

Что такое протокол WSD и почему он может тормозить печать?

Протокол WSD (Web Services for Devices) автоматически обнаруживает сетевые принтеры, но использует дополнительные слои шифрования и аутентификации. Это может вызывать задержки, особенно в сетях с большим количеством устройств. TCP/IP работает быстрее, так как подключается напрямую по IP без промежуточных сервисов.

5. Сброс настроек принтера через командную строку

Если принтер «глючит» — например, неправильно интерпретирует команды печати или игнорирует настройки качества — иногда помогает сброс его настроек до заводских. Для сетевых принтеров это можно сделать через CMD, отправив специальную команду на устройство.

Для принтеров HP (серии LaserJet, OfficeJet):

telnet 192.168.1.100 9100

@PJL DEFAULT

@PJL INFO STATUS

.

Эта последовательность:

  1. Подключается к принтеру по протоколу Telnet (порт 9100),
  2. Отправляет команду сброса настроек (@PJL DEFAULT),
  3. Запрашивает статус (@PJL INFO STATUS).

После выполнения принтер перезагрузится (может занять до 2 минут).

Для принтеров Canon и Brother сброс часто требует использования утилиты производителя, но через CMD можно хотя бы перезагрузить устройство:

shutdown /r /m \\192.168.1.100

Эта команда отправляет сигнал на перезагрузку по сети. Работает не на всех моделях, но поддерживается большинством корпоративных МФУ.

⚠️ Внимание: Сброс настроек принтера вернёт все параметры к заводским, включая сетевые настройки (IP, имя хоста). После процедуры может потребоваться перенастройка подключения.
💡

Сброс принтера через Telnet работает только для моделей с поддержкой PJL (Printer Job Language). Если команда не срабатывает, проверьте документацию к вашей модели — возможно, требуется другой протокол (SNMP, IPP).

6. Проверка совместимости принтера с Windows

После обновления Windows (например, с Windows 10 до Windows 11) некоторые принтеры перестают работать из-за изменений в системе печати. Через командную строку можно проверить, поддерживается ли ваша модель текущей версией ОС, и при необходимости установить драйвер в режиме совместимости.

Посмотреть версию Windows и разрядность системы:

systeminfo | findstr /B /C:"Версия ОС" /C:"Тип системы"

Пример вывода:

Версия ОС:               10.0.22621 (Windows 11)

Тип системы: x64-based PC

Сравните версию ОС с требованиями драйвера принтера на сайте производителя.

Если драйвер несовместим, установите его в режиме совместимости через командную строку:

pnputil /add-driver "C:\Driver\printer.inf" /install /force

Флаг /force заставляет систему игнорировать предупреждения о несовместимости. Используйте этот метод только если:

  • Производитель принтера подтвердил совместимость драйвера с вашей версией Windows,
  • Вы скачали драйвер с официального сайта, а не со сторонних ресурсов.

7. Автоматизация проверки принтера: создание скрипта

Если вам регулярно приходится диагностировать принтеры (например, в офисе с несколькими МФУ), полезно создать bat-скрипт, который будет выполнять все проверки автоматически. Такой скрипт можно запускать по расписанию или при первых признаках проблем.

Пример скрипта для базовой диагностики (check_printer.bat):

@echo off

echo === Проверка подключения принтеров ===

wmic printer get name,portname,status

echo.

echo === Состояние очереди печати ===

net print \\%computername%

echo.

echo === Список драйверов ===

pnputil /enum-drivers | find "Printer"

pause

Сохраните этот код в текстовом файле с расширением .bat и запускайте от имени администратора. Скрипт выведет:

  • Список всех принтеров с портами и статусами,
  • Текущую очередь печати,
  • Установленные драйверы.

Для расширенной диагностики можно добавить в скрипт:

  • Пинг сетевых принтеров,
  • Проверку службы Spooler,
  • Экспорт логов в файл.

Пример расширенной версии с логированием:

@echo off

echo Проверка выполнена %date% %time% > C:\printer_log.txt

wmic printer get name,portname,status >> C:\printer_log.txt

net print \\%computername% >> C:\printer_log.txt

echo Логи сохранены в C:\printer_log.txt

pause

Часто задаваемые вопросы

Можно ли через командную строку узнать уровень тонера в принтере?

Да, но только для сетевых принтеров с поддержкой протокола SNMP. Используйте команду:

snmpwalk -v 2c -c public 192.168.1.100 1.3.6.1.2.1.43.10.2.1.4.1.1

Где 192.168.1.100 — IP принтера, а public — community-строка (по умолчанию). Для HP и Canon могут потребоваться другие OID-идентификаторы (уточняйте в документации).

Команда net print выдаёт ошибку «Служба печати не запущена». Что делать?

Запустите службу вручную:

net start spooler

Если служба не запускается, проверьте зависимости:

sc config spooler depend= RPCSS

Затем перезагрузите компьютер.

Как узнать MAC-адрес сетевого принтера через CMD?

Если принтер поддерживает ARP, используйте:

arp -a 192.168.1.100

Где 192.168.1.100 — IP принтера. MAC-адрес будет в формате XX-XX-XX-XX-XX-XX. Для некоторых моделей Brother и Xerox MAC можно узнать через веб-интерфейс принтера (введите IP в браузере).

Принтер печатает пустые листы. Можно ли это диагностировать через CMD?

Проблема скорее аппаратная (засохшие дюзы, пустой картридж), но через командную строку можно проверить:

  1. Драйвер: pnputil /enum-drivers | find "Printer" — убедитесь, что установлен правильный драйвер для вашей модели.
  2. Тестовый лист: некоторые принтеры (Epson, Canon) поддерживают команду печати тестовой страницы через Telnet или SNMP.

Если драйвер в порядке, очистите печатающую головку через панель управления принтера или утилиту производителя.

Можно ли через CMD обновить прошивку принтера?

Нет, прошивка обновляется только через:

  • Официальную утилиту производителя (например, HP Firmware Update Utility),
  • Веб-интерфейс принтера (для сетевых моделей),
  • USB-накопитель (для некоторых Brother и Kyocera).

Попытка обновить прошивку через CMD может привести к необратимому повреждению устройства!