Удаление принтера через стандартный интерфейс Windows 10 обычно не вызывает проблем — достаточно нескольких кликов в"Параметрах". Но что делать, если принтер Canon PIXMA MG3640 или HP LaserJet Pro M404n отказывается удаляться? Или когда система выдаёт ошибку 0x00000002 при попытке деинсталляции через графический интерфейс? В таких случаях на помощь приходит командная строка — мощный инструмент, который позволяет управлять устройствами печатания даже когда графические утилиты блокируют процесс.
Эта статья не просто перечислит команды — она объяснит, почему принтеры иногда"застревают" в системе, как правильно идентифицировать проблемное устройство перед удалением, и что делать, если стандартные команды printui не срабатывают. Мы также разберём нюансы работы с сетевыми принтерами Brother HL-L2350DW и виртуальнымиями (например, Microsoft XPS Document Writer), которые часто создают путаницу.
Предупреждаем заранее: работа с командной строкой требует повышенных прав. Если вы никогда не использовали CMD от имени администратора, сначала ознакомьтесь с базовыми правилами безопасности — неправильная команда может удалить не тот принтер или даже повлиять на работу других устройств.
Почему принтер может не удаляться стандартным способом
На первый взгляд, удаление принтера через Параметры → Устройства → Принтеры и сканеры кажется элементарной задачей. Однако на практике пользователи сталкиваются с целым рядом проблем:
Во-первых, зависшие задачи печатания в очереди могут блокировать деинсталляцию. Если в списке ожидания висит документ Word.docx весом 50 МБ, который не удаётся отменить, система не позволит удалить сам принтер. Во-вторых, повреждённые драйверы (особенно актуально для принтеров Epson EcoTank L3150 с проприетарным ПО) иногда"запирают" устройство в реестре Windows. Третья распространённая причина — сетевые принтеры, подключённые по протоколу IPP или LPR, которые система считает"активными" даже когда они физически отключены.
Ещё один коварный момент — виртуальные принтеры, такие как OneNote или PDF-конвертеры. Они не имеют физического подключения, но занимают порт и могут конфликтовать с реальными устройствами. Например, если вы пытаетесь удалить Kyocera Ecosys P2040dn, а система упорно игнорирует команду, виновником может оказаться виртуальный Send To OneNote 2016, использующий тот же порт USB001.
Наконец, не стоит сбрасывать со счетов политики групповой безопасности в корпоративных сетях. Администраторы часто ограничивают права пользователей на изменение конфигурации принтеров, что делает невозможным их удаление без командной строки или прав администратора.
⚠️ Внимание: Если принтер подключён по сети и используется несколькими пользователями, его удаление через ваш локальный компьютер не отключит устройство от домена. Для полного удаления может потребоваться доступ к серверу печатания.
Подготовка к удалению: проверка текущих принтеров
Прежде чем приступать к удалению, необходимо точно определить имя принтера и порт, который он занимает. Это критично, потому что команды в CMD требуют точного совпадения названий. Например, если в системе зарегистрирован принтер как HP LaserJet Pro M404-M405, а вы попробуете удалить его по имени HP LaserJet Pro, команда завершится ошибкой.
Чтобы получить полный список установленных принтеров, выполните следующие шаги:
- Откройте командную строку от имени администратора (нажмите
Win + Xи выберитеКомандная строка (администратор)). - Введите команду:
wmic printer list brief - Обратите внимание на столбцы
Name(имя принтера) иPortName(используемый порт).
Для более детальной информации используйте:
wmic printer list full
Эта команда выведет расширенные сведения, включая DriverName, Shared (общий доступ) и Status (текущий статус устройства).
Если вам нужно проверить конкретный принтер (например, Brother DCP-T720DW), используйте фильтрацию:
wmic printer where"name like'%Brother%'" list full
Получить список принтеров через `wmic printer list brief`
Записать точное имя целевого принтера (с учётом регистра)
Убедиться, что в очереди нет активных задач (`net stop spooler && net start spooler`)
Проверить права администратора в CMD-->
Основные команды для удаления принтера
Windows 10 предлагает несколько способов удаления принтеров через командную строку. Мы рассмотрим три основных метода, от самого простого к более сложному.
Метод 1: Использование printui с графическим интерфейсом
Утилита printui.dll позволяет запускать мастер установки принтеров в"тихом" режиме. Для удаления используйте:
rundll32 printui.dll,PrintUIEntry /dl /n"Имя принтера"
Пример для принтера Canon i-SENSYS LBP6030w:
rundll32 printui.dll,PrintUIEntry /dl /n"Canon i-SENSYS LBP6030w"
Метод 2: Прямое удаление через wmic
Если первый метод не сработал, попробуйте:
wmic printer where name="Имя принтера" delete
Для принтеров с пробелами в имени используйте кавычки:
wmic printer where"name='HP OfficeJet Pro 9015e'" delete
Метод 3: Удаление через порт (для упрямых случаев)
Когда принтер не удаляется по имени, можно попробовать удалить его через порт:
wmic printer where"portname='PORT_ИМЯ'" delete
Сначала найдите порт командой wmic printer list brief, затем подставьте его в команду. Например, для порта IP_192.168.1.100:
wmic printer where"portname='IP_192.168.1.100'" delete
| Метод | Команда | Когда использовать | Требуются права админа |
|---|---|---|---|
| Graphical (printui) | rundll32 printui.dll,PrintUIEntry /dl /n"Name" |
Простые случаи, когда известны имя принтера | Да |
| WMIC по имени | wmic printer where name="Name" delete |
Если printui не сработал или нужно удалить несколько принтеров | Да |
| WMIC по порту | wmic printer where"portname='PORT'" delete |
Когда принтер"невидим" для системы, но занимает порт | Да |
| Очистка очереди | net stop spooler & del %systemroot%\System32\spool\printers\* /Q & net start spooler |
Если задачи печатания блокируют удаление | Да |
⚠️ Внимание: Командыwmicчувствительны к регистру и кавычкам. Если имя принтера содержит символы&или', используйте экранирование:^&или^'соответственно.
Удаление сетевых и виртуальных принтеров
Сетевые принтеры (например, Xerox WorkCentre 6515 с IP-адресом) и виртуальные устройства (вроде Microsoft Print to PDF) требуют особого подхода. Их нельзя просто удалить как локальные USB-принтеры — сначала нужно"отвязать" порт.
Для сетевых принтеров сначала удалите порт:
wmic printerport where"name='IP_192.168.1.150'" delete
Затем удалите сам принтер стандартной командой wmic printer delete. Если принтер был добавлен через WSD-порт (Web Services for Devices), используйте:
wmic printerport where"name='WSD-..." delete
Виртуальные принтеры часто"прячутся" под неочевидными именами. Например, CutePDF Writer может отображаться как CutePDF Writer (copy 1). Чтобы найти все виртуальные устройства, используйте фильтр:
wmic printer where"portname like'%PORTPROMPT%'" list brief
Особое внимание уделите принтерам, установленным через Google Cloud Print (устаревший сервис, но некоторые системы ещё содержат его остатки). Их имена обычно начинаются с Google Cloud Printer:. Удаляйте их в два этапа:
- Удалите сам принтер:
wmic printer where"name like'Google%'" delete - Очистите реестр от записей (через
regeditпо путиHKEY_LOCAL_MACHINE\SOFTWARE\Google\Cloud Print).
Если после удаления сетевого принтера он появляется снова при перезагрузке, проверьте групповую политику (gpedit.msc) на наличие автоматической установки принтеров по доменным правилам.
Что делать, если принтер не удаляется: расширенные методы
Когда стандартные команды не помогают, приходит время для"тяжёлой артиллерии". Вот что можно попробовать:
1. Остановка и очистка службы печати
Иногда зависшие задачи блокируют удаление. Выполните:
net stop spooler
del %systemroot%\System32\spool\printers\* /Q
net start spooler
2. Удаление через реестр
Если принтер исчез из списка wmic, но всё ещё отображается в"Параметрах", его записи могли остаться в реестре. Откройте regedit и перейдите к:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers
Удалите папку с именем проблемного принтера. Будьте осторожны — неправильные действия в реестре могут нарушить работу системы!
3. Использование PowerShell
Для упрямых случаев подойдёт скрипт:
Get-Printer -Name"Имя принтера" | Remove-Printer -Verbose
4. Утилита Print Management
В профессиональных редакциях Windows (Pro/Enterprise) доступна оснастка printmanagement.msc. Запустите её, найдите принтер в дереве All Printers, и удалите через контекстное меню.
Если ни один метод не сработал, последняя мера — удаление драйвера принтера вручную:
- Откройте
Панель управления → Устройства и принтеры. - Щёлкните правой кнопкой по пустому месту →
Сервер печати → Драйверы. - Найдите драйвер вашего принтера (например, HP Universal Printing PCL 6) и удалите его.
- Перезагрузите компьютер.
⚠️ Внимание: После удаления драйвера все принтеры, его использующие, станут неработоспособными. Вам потребуется переустановить ПО с официального сайта производителя.
Как восстановить службу печати, если она не запускается?
Если после манипуляций служба spooler отказывается стартовать, проверьте зависимости:
1. Откройте services.msc
2. Найдите службу"Диспетчер печати" (Print Spooler)
3. В свойствах на вкладке"Зависимости" проверьте, что запущены:
- HTTP (если принтер сетевой)
- Remote Procedure Call (RPC)
4. Запустите их вручную, затем перезапустите spooler
Автоматизация: создание скрипта для удаления принтеров
Если вам регулярно приходится удалять принтеры (например, в офисе с часто меняющимся парком техники), имеет смысл создать. Вот пример скрипта, который удаляет все принтеры с именем, содержащим HP:
@echo off
:: Скрипт для удаления всех принтеров HP
for /f"tokens=1 delims=," %%a in ('wmic printer where"name like'%%HP%%'" get name ^| find":"') do (
set printer=%%a
call:remove_printer
)
goto:eof
:remove_printer
setlocal enabledelayedexpansion
set printer=!printer:~0,-1!
echo Удаление принтера:!printer!
wmic printer where"name='!printer!'" delete >nul 2>&1
endlocal
goto:eof
Сохраните этот код в файл remove_hp_printers.bat и запускайте от имени администратора. Для других брендов замените HP на нужное имя (например, Canon или Brother).
Более продвинутый вариант — скрипт с логгированием:
@echo off
:: Лог-файл будет создан в %TEMP%\printer_removal.log
set LOG_FILE=%TEMP%\printer_removal.log
echo [%DATE% %TIME%] Начало удаления принтеров > %LOG_FILE%
for /f"tokens=1 delims=," %%a in ('wmic printer get name ^| find":"') do (
set printer=%%a
call:process_printer
)
echo [%DATE% %TIME%] Удаление завершено >> %LOG_FILE%
start notepad %LOG_FILE%
goto:eof
:process_printer
setlocal enabledelayedexpansion
set printer=!printer:~0,-1!
echo [%DATE% %TIME%] Обработка:!printer! >> %LOG_FILE%
wmic printer where"name='!printer!'" delete >nul 2>&1
if %ERRORLEVEL% equ 0 (
echo [%DATE% %TIME%] Успешно удалён:!printer! >> %LOG_FILE%
) else (
echo [%DATE% %TIME%] ОШИБКА при удалении:!printer! >> %LOG_FILE%
)
endlocal
goto:eof
Такой скрипт не только удалит принтеры, но и создаст лог-файл с результатами, что удобно для отчётности в корпоративной среде.
Скрипты для автоматического удаления принтеров экономят время в офисах с большим парком техники, но требуют тестирования на одном компьютере перед массовым развёртыванием.
Типичные ошибки и их решения
Даже с правильными командами пользователи сталкиваются с ошибками. Рассмотрим самые распространённые:
Ошибка:"Доступ запрещён" (Access is denied)
Причина: недостаточно прав. Решение:
- 🔹 Запустите CMD от имени администратора (обязательно через правый клик →"Запуск от имени администратора").
- 🔹 Проверьте, не блокирует ли антивирус (например, Kaspersky или ESET) доступ к службе печати.
- 🔹 В корпоративной сети обратитесь к ИТ-отделу — возможно, действуют ограничения групповой политики.
Ошибка:"Указанное устройство не найдено" (No Instance(s) Available)
Причина: неверное имя принтера или он уже удалён. Решение:
- 🔹 Убедитесь, что имя введено точно (с учётом регистра и пробелов).
- 🔹 Проверьте список принтеров ещё раз:
wmic printer list brief. - 🔹 Если принтер сетевой, убедитесь, что он включён и доступен по сети (
ping IP_принтера).
Ошибка:"Операция не завершена успешно" (0x00000002)
Причина: занят порт или висит задача печатания. Решение:
- 🔹 Очистите очередь печати (см. раздел выше).
- 🔹 Перезапустите службу
spooler. - 🔹 Попробуйте удалить принтер через
printmanagement.msc.
Ошибка:"Принтер появляется снова после перезагрузки"
Причина: автоматическая установка по групповой политике или драйвером. Решение:
- 🔹 Проверьте
gpedit.msc → Конфигурация компьютера → Административные шаблоны → Принтеры. - 🔹 Удалите драйвер принтера полностью (через"Сервер печати → Драйверы").
- 🔹 Для сетевых принтеров отключите параметр"Автоматически устанавливать сетевые принтеры" в настройках Windows.
Если ошибка не указана в этом списке, проверьте код ошибки в документации Microsoft (откроется в новой вкладке). Например, код 0x00000057 означает неверный параметр, а 0x00000005 — отказ в доступе.
FAQ: Частые вопросы по удалению принтеров через CMD
Можно ли удалить принтер через CMD без прав администратора?
Нет, для выполнения команд wmic или printui требуются права администратора. Если у вас ограниченная учётная запись, обратитесь к администратору системы или используйте учётную запись с соответствующими правами.
Обходной путь: некоторые команды (например, wmic printer list для просмотра списка) работают без повышенных прав, но удаление всегда требует админ-доступа.
Как удалить принтер, если его имя содержит специальные символы (например, & или')?
Используйте экранирование символов с помощью ^. Например, для принтера с именем Epson & Canon команда будет:
wmic printer where"name='Epson ^& Canon'" delete
Для апострофа ('):
wmic printer where"name='Brother^'s Printer'" delete
После удаления принтера через CMD он всё равно отображается в списке устройств. Почему?
Это происходит из-за кэширования или неполного удаления. Попробуйте:
- Перезапустите службу печати:
net stop spooler && net start spooler. - Проверьте реестр на наличие записей о принтере (см. раздел выше).
- Удалите драйвер принтера через"Сервер печати → Драйверы".
- Перезагрузите компьютер.
Если принтер сетевой, он может автоматически устанавливаться заново при подключении к сети. Отключите эту функцию в параметрах Windows.
Как удалить все принтеры сразу одной командой?
Внимание! Это необратимое действие — все принтеры будут удалены. Используйте с осторожностью.
Команда для массового удаления:
wmic printer delete
Для создания лога удалённых принтеров:
for /f"tokens=1 delims=," %a in ('wmic printer get name ^| find":"') do @echo Удалён: %a & wmic printer where"name='%a'" delete >nul 2>&1
Вфайле замените %a на %%a.
Можно ли восстановить удалённый принтер, если я ошибся?
Если принтер был удалён только с вашего компьютера (не физически), его можно добавить заново:
- Для локального принтера: подключите его по USB и дождитесь автоматической установки.
- Для сетевого: используйте мастер добавления принтера (
control printers) и укажите IP-адрес. - Если драйвер был удалён, скачайте его с официального сайта производителя (Canon, HP, Brother и т.д.).
Для виртуальных принтеров (например, Microsoft XPS Document Writer) может потребоваться переустановка компонента Windows через"Включение или отключение компонентов Windows".