Когда принтер отказывается печатать, а графический интерфейс 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). - 🖨️ Принтер виден, но статус «Ошибка»? Возможно, замятие бумаги или отсутствует тонер. Проверьте физическое состояние устройства.
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:
- Удалите текущий принтер через
Устройства и принтеры. - Добавьте новый принтер, выбрав
Добавить локальный принтер→Создать новый порт→Standard TCP/IP Port. - Введите 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
.
Эта последовательность:
- Подключается к принтеру по протоколу
Telnet(порт9100), - Отправляет команду сброса настроек (
@PJL DEFAULT), - Запрашивает статус (
@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?
Проблема скорее аппаратная (засохшие дюзы, пустой картридж), но через командную строку можно проверить:
- Драйвер:
pnputil /enum-drivers | find "Printer"— убедитесь, что установлен правильный драйвер для вашей модели. - Тестовый лист: некоторые принтеры (Epson, Canon) поддерживают команду печати тестовой страницы через
TelnetилиSNMP.
Если драйвер в порядке, очистите печатающую головку через панель управления принтера или утилиту производителя.
Можно ли через CMD обновить прошивку принтера?
Нет, прошивка обновляется только через:
- Официальную утилиту производителя (например, HP Firmware Update Utility),
- Веб-интерфейс принтера (для сетевых моделей),
- USB-накопитель (для некоторых Brother и Kyocera).
Попытка обновить прошивку через CMD может привести к необратимому повреждению устройства!