Подключение сетевого принтера через командную строку (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):
- Создайте общий сетевой ресурс с драйверами и скриптом.
- В
gpedit.mscперейдите вКонфигурация компьютера → Политики → Конфигурация Windows → Сценарии → Запуск. - Добавьте ваш
.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
Эта команда не требует административных прав, но принтер должен быть расшарен в сети.
Как узнать имя общего ресурса принтера?
Имя общего ресурса принтера можно узнать несколькими способами:
- Через веб-интерфейс принтера (обычно раздел
NetworkилиSharing). - На компьютере, где принтер уже установлен, выполните команду:
wmic printer get name, sharename - В
Панели управления → Устройства и принтерыкликните правой кнопкой по принтеру →Свойства принтера → Доступ.
Почему принтер подключается, но не печатает?
Причин может быть несколько:
- 🖨️ Несовместимый драйвер: удалите принтер и установите его заново с официальным драйвером.
- 📤 Заблокированная очередь печати: очистите очередь через
Панель управления → Устройства и принтеры → Просмотр очереди печати. - 🔌 Проблемы с портом: проверьте настройки порта в свойствах принтера (должен быть указан корректный 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.