Подключение сетевого принтера через командную строку (CMD) — это не только способ автоматизации процесса для системных администраторов, но и полезный навык для обычных пользователей, которые хотят сэкономить время или решить проблему с подключением, когда графический интерфейс Windows отказывается работать. В отличие от стандартного мастера установки принтеров, командная строка позволяет гибко настраивать параметры подключения, указывать конкретные драйверы и даже управлять принтерами на удалённых компьютерах.

В этой статье мы разберём все этапы: от подготовки сети и проверки доступности принтера до установки драйверов и устранения типичных ошибок. Особое внимание уделим командам printui.dll, rundll32 и pnputil, которые часто остаются за кадром в стандартных инструкциях. Если вы когда-либо сталкивались с сообщением «Windows не удаётся подключиться к принтеру» или нуждаетесь в массовом развёртывании принтеров в офисе — этот материал для вас.

Подготовка к подключению: проверка сети и принтера

Прежде чем приступать к командам, убедитесь, что сетевое оборудование настроено корректно. Начнём с базовых проверок:

  • 🔌 Питание и сетевое подключение: принтер должен быть включён и подключён к сети через Ethernet или Wi-Fi. Проверьте индикаторы на корпусе устройства — горящий зелёный/синий светодиод рядом с портом LAN или иконкой Wi-Fi сигнализирует об активном соединении.
  • 📡 IP-адрес принтера: большинство сетевых принтеров (например, HP LaserJet Pro M404n или Brother HL-L2350DW) получают IP автоматически по DHCP, но некоторые модели требуют ручной настройки. Уточните адрес в меню принтера или через веб-интерфейс (обычно доступен по адресу вида http://[IP_принтера]).
  • 🖥️ Доступность с компьютера: выполните команду ping [IP_принтера] в CMD. Если пакеты не проходят, проверьте брандмауэр или настройки сети.

Если принтер подключён через Wi-Fi, убедитесь, что он находится в той же сети, что и компьютер. Для корпоративных сетей может потребоваться VLAN или дополнительная аутентификация (например, 802.1X). В домашних условиях достаточно совпадения имени сети (SSID) и пароля.

⚠️ Внимание: Некоторые принтеры (например, Canon imageCLASS или Xerox WorkCentre) блокируют ICMP-пакеты (ping) по умолчанию. В этом случае используйте утилиту arp -a для проверки наличия устройства в сети или попробуйте открыть веб-интерфейс принтера в браузере.
📊 Какой тип принтера вы используете?
Лазерный
Струйный
МФУ (многофункциональное устройство)
Термопринтер
Другой

Способы подключения принтера через командную строку

В Windows существует несколько методов установки сетевого принтера через CMD. Выбор зависит от ваших задач:

Метод Команда Когда использовать Требуются права администратора
printui.dll rundll32 printui.dll,PrintUIEntry /ga /n\\[IP_принтера]\[Имя_принтера] Универсальный способ, поддерживает установку драйверов Да
pnputil pnputil /add-driver "путь\к\драйверу.inf" /install Предварительная установка драйверов Да
net use + rundll32 net use LPT1: \\[IP_принтера]\[Имя_общего_ресурса] /persistent:yes Для устаревших систем или специфических конфигураций Нет
PowerShell Add-Printer -ConnectionName \\[IP_принтера]\[Имя_принтера] Автоматизация в скриптах Да

Наиболее надёжный и гибкий метод — использование printui.dll. Он позволяет указать конкретный драйвер, имя принтера и даже настроить параметры порта. Например, для принтера HP OfficeJet Pro 9015 с IP-адресом 192.168.1.100 команда будет выглядеть так:

rundll32 printui.dll,PrintUIEntry /if /b "HP OfficeJet Pro 9015" /f "C:\Drivers\HP\OJ9015.inf" /r "LPT1:" /m "HP OfficeJet Pro 9015" /Z

Где:

  • /if — установка принтера;
  • /b — имя принтера в системе;
  • /f — путь к INF-файлу драйвера;
  • /r — порт (можно указать IP_192.168.1.100 вместо LPT1);
  • /m — модель принтера;
  • /Z — совместное использование принтера.
💡

Если вы не знаете точную модель принтера для параметра /m, используйте команду wmic printer list brief, чтобы увидеть список установленных устройств и их драйверов.

Установка драйверов принтера через CMD

Без правильного драйвера принтер не будет работать даже после успешного подключения. В командной строке для установки драйверов используется утилита pnputil (для INF-драйверов) или printui.dll (для PPD-драйверов, распространённых в Linux/macOS).

Сначала скачайте драйвер с официального сайта производителя (например, для Brother DCP-L2550DW — с сайта brother.com). Распакуйте архив в папку, например, C:\Drivers\Brother\. Затем выполните:

pnputil /add-driver "C:\Drivers\Brother\DCPL2550DW.inf" /install

Если драйвер требует подписи (что актуально для Windows 10/11), добавьте ключ /force:

pnputil /add-driver "C:\Drivers\Brother\DCPL2550DW.inf" /install /force

Для проверки установленных драйверов используйте:

pnputil /enum-drivers
⚠️ Внимание: В корпоративных средах драйверы принтеров часто распределяются через GPO (групповые политики). Ручная установка через CMD может конфликтовать с политиками домена. Перед массовым развёртыванием согласуйте действия с администратором сети.

Скачать драйвер с официального сайта производителя|Распаковать архив в отдельную папку|Проверить наличие файла с расширением .inf|Запустить CMD от имени администратора|Убедиться в совместимости драйвера с версией Windows-->

Подключение принтера по IP-адресу: пошаговая инструкция

Рассмотрим самый распространённый сценарий: подключение принтера по статическому IP-адресу. Предположим, у нас есть принтер Xerox Phaser 3260 с адресом 192.168.1.150 и именем общего ресурса Xerox_3260.

Шаг 1. Откройте командную строку от имени администратора (нажмите Win + XТерминал (администратор)).

Шаг 2. Создайте стандартный TCP/IP-порт для принтера:

printui.dll,PrintUIEntry /if /b "Xerox Phaser 3260" /f "C:\Drivers\Xerox\3260.inf" /r "IP_192.168.1.150" /m "Xerox Phaser 3260"

Шаг 3. Проверьте успешность подключения:

wmic printer where "name='Xerox Phaser 3260'" get portname, drivername, status

Если статус отображается как Unknown или Offline, выполните следующие действия:

  • 🔄 Перезагрузите принтер и компьютер.
  • 📋 Проверьте настройки брандмауэра Windows (разрешите входящие подключения для spoolsv.exe).
  • 🔧 Убедитесь, что в настройках принтера включён протокол LPD или Raw (обычно настраивается через веб-интерфейс).
Что делать, если принтер не печатает после подключения?

Если принтер подключён, но не печатает, проверьте следующее:

1. Очередь печати: откройте Панель управления → Устройства и принтеры, найдите ваш принтер и убедитесь, что в очереди нет застрявших заданий.

2. Драйвер по умолчанию: иногда Windows устанавливает универсальный драйвер (например, MS Publisher Imagesetter), который не поддерживает все функции. Удалите принтер и установите его заново с правильным драйвером.

3. Права доступа: в корпоративных сетях может требоваться аутентификация. Используйте команду net use \\[IP_принтера] /user:[домен]\[пользователь] [пароль] для подключения с учётными данными.

Устранение ошибок при подключении

Даже при правильном выполнении команд могут возникать ошибки. Рассмотрим самые распространённые и способы их решения:

Ошибка Причина Решение
0x00000002 (Файл не найден) Неверный путь к драйверу или отсутствует INF-файл Проверьте путь и наличие файла. Используйте полный путь (например, C:\Drivers\... вместо относительного).
0x00000057 (Параметр некорректен) Неверный синтаксис команды или несуществующее имя принтера Проверьте регистр символов в имени принтера и параметрах. Используйте кавычки для имён с пробелами.
Windows не удаётся подключиться к принтеру Принтер недоступен по сети или заблокирован брандмауэром Выполните ping [IP_принтера] и проверьте настройки spoolsv.exe в брандмауэре.
0x0000007e (Недостаточно памяти) Системные ресурсы перегружены или драйвер требует больше памяти Перезагрузите компьютер и повторите попытку. Для старых систем (Windows 7) попробуйте установить 32-битный драйвер.

Если принтер подключается, но печатает «кракозябры» или некорректные символы, проблема скорее всего в драйвере или кодировке данных. Для принтеров Kyocera или Ricoh может потребоваться указать правильный PCL/PostScript-режим в настройках порта:

printui.dll,PrintUIEntry /Xs /n "Имя_принтера" PortName "IP_192.168.1.150" Protocol "LPR"

Критическая деталь: для принтеров с поддержкой протокола IPP (Internet Printing Protocol) используйте порт вида http://[IP_принтера]/ipp/print вместо стандартного TCP/IP. Это актуально для современных моделей, таких как HP Neverstop Laser или Epson EcoTank.

Автоматизация подключения принтеров в сети

Для администраторов, управляющих парком принтеров в офисе, ручная установка каждого устройства неэффективна. Командная строка позволяет создать скрипт для массового развёртывания. Пример бат-файла (.bat) для установки принтера на всех компьютерах в домене:

@echo off

:: Установка драйвера

pnputil /add-driver "\\server\drivers\Xerox\3260.inf" /install /force

:: Подключение принтера

rundll32 printui.dll,PrintUIEntry /if /b "Xerox Phaser 3260" /f "\\server\drivers\Xerox\3260.inf" /r "IP_192.168.1.150" /m "Xerox Phaser 3260" /Z

:: Настройка принтера по умолчанию

rundll32 printui.dll,PrintUIEntry /y /n "Xerox Phaser 3260"

Для развёртывания через Group Policy (GPO):

  1. Создайте общий сетевой ресурс с драйверами и скриптом.
  2. В gpedit.msc перейдите в Конфигурация компьютера → Политики → Конфигурация Windows → Сценарии → Запуск.
  3. Добавьте ваш .bat-файл в список скриптов запуска.
⚠️ Внимание: При массовой установке учитывайте разрядность систем (x86/x64). Драйверы для 32-битных систем не совместимы с 64-битными, и наоборот. Используйте универсальные драйверы (например, HP Universal Print Driver) или разделяйте скрипты по архитектуре.
💡

Для автоматизации в домене Windows оптимально использовать Print Management (входит в состав RSAT). Этот инструмент позволяет централизованно управлять принтерами, драйверами и разрешениями без ручного ввода команд.

Альтернативные методы: PowerShell и WMI

Для более гибкой автоматизации подходит PowerShell. Например, следующая команда подключает принтер и устанавливает его принтером по умолчанию:

Add-Printer -ConnectionName "\\192.168.1.150\Xerox_3260" -DriverName "Xerox Phaser 3260"

Set-Printer -Name "Xerox Phaser 3260" -Default

Чтобы получить список всех принтеров в сети через WMI (Windows Management Instrumentation), используйте:

Get-Printer | Select-Object Name, DriverName, PortName, Shared | Format-Table -AutoSize

Для удаления принтера:

Remove-Printer -Name "Старый принтер"

PowerShell удобен для интеграции с другими системами управления, например, Microsoft Endpoint Configuration Manager (MECM) или Ansible. Если вам нужно экспортировать список принтеров в файл для аудита, выполните:

Get-Printer | Export-Csv -Path "C:\Temp\Printers_List.csv" -NoTypeInformation

FAQ: Частые вопросы по подключению сетевых принтеров

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

Нет, большинство команд (например, printui.dll или pnputil) требуют прав администратора. Однако вы можете использовать метод с net use для подключения к общему сетевому принтеру, если он уже настроен на другом компьютере:

net use LPT1: \\server\printer_name /persistent:yes

Эта команда не требует административных прав, но принтер должен быть расшарен в сети.

Как узнать имя общего ресурса принтера?

Имя общего ресурса принтера можно узнать несколькими способами:

  1. Через веб-интерфейс принтера (обычно раздел Network или Sharing).
  2. На компьютере, где принтер уже установлен, выполните команду:
    wmic printer get name, sharename
  3. В Панели управления → Устройства и принтеры кликните правой кнопкой по принтеру → Свойства принтера → Доступ.
Почему принтер подключается, но не печатает?

Причин может быть несколько:

  • 🖨️ Несовместимый драйвер: удалите принтер и установите его заново с официальным драйвером.
  • 📤 Заблокированная очередь печати: очистите очередь через Панель управления → Устройства и принтеры → Просмотр очереди печати.
  • 🔌 Проблемы с портом: проверьте настройки порта в свойствах принтера (должен быть указан корректный IP и протокол, например, Raw или LPR).
  • 🛡️ Брандмауэр или антивирус: временно отключите их для теста.
Как подключить принтер по hostname вместо IP?

Вы можете использовать hostname принтера вместо IP-адреса, если в сети корректно работает DNS или NetBIOS. Например:

rundll32 printui.dll,PrintUIEntry /if /b "HP LaserJet" /f "C:\Drivers\HP.inf" /r "http://printer1.company.local/ipp/print" /m "HP LaserJet"

Убедитесь, что имя принтера разрешается в IP (проверьте командой ping printer1.company.local).

Можно ли подключить принтер через CMD на macOS или Linux?

В Linux для подключения сетевого принтера используется команда lpadmin:

lpadmin -p HP_LaserJet -E -v socket://192.168.1.100 -m drv:///sample/drivers/ppd/generic-postscript.ppd

На macOS можно использовать:

lpadmin -p "HP_OfficeJet" -E -v lpd://192.168.1.100/HP_OfficeJet -P "/Library/Printers/PPDs/Contents/Resources/HP OfficeJet Pro 9015.gz"

Для обеих систем потребуются права sudo.