Удаление принтера из сервера печати кажется простой задачей — пока не сталкиваешься с ошибками вроде "устройство не удаляется", "остаточные драйвера" или "принтер появляется снова после перезагрузки". Особенно критично это для корпоративных сетей, где остаточные записи в Active Directory или CUPS могут блокировать добавление новых устройств. В 70% случаев проблемы возникают из-за неполного удаления драйверов или неверных прав доступа.

Эта статья покрывает все сценарии: от ручного удаления через printui.dll до очистки реестра Windows и команд для Linux-серверов (включая Ubuntu и CentOS). Мы также разберём, почему принтер может "восставать из мёртвых" после удаления и как это предотвратить. Если вы админ, который устает от призрачных принтеров в списке устройств после миграции на новый сервер — здесь вы найдёте решение.

1. Подготовка: что нужно сделать до удаления принтера

Прежде чем нажимать "Удалить", проверьте три критических момента:

  • 📄 Права доступа: Учётная запись должна входить в группу Administrators (Windows) или иметь права lpadmin (Linux). Без этого система заблокирует изменения.
  • 🖨️ Статус устройства: Принтер не должен быть в состоянии "Печать" или "Ожидание". Отмените все задачи через Очередь печати.
  • 🔌 Сетевые подключения: Отключите принтер от сети (выдерните кабель или отключите Wi-Fi), чтобы избежать автоматического повторного обнаружения.

В корпоративных сетях с Active Directory дополнительный шаг — проверка групповой политики. Если принтер развёрнут через GPO, его удаление вручную приведёт к возвращению после следующего обновления политики. В этом случае сначала отключите развёртывание в gpmc.msc.

💡

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

2. Удаление принтера в Windows Server (4 метода)

Windows предлагает несколько способов удаления, но только комбинация методов гарантирует полную очистку. Начнём с самого очевидного — и least effective — варианта.

Метод 1: Стандартное удаление через "Устройства и принтеры"

Этот способ работает для 60% случаев, но часто оставляет драйвера и записи в реестре:

  1. Откройте Панель управления → Устройства и принтеры.
  2. Правый клик по принтеру → Удалить устройство.
  3. Подтвердите удаление (иногда требуется ввод админ-пароля).

Метод 2: Через printui.dll (для опытных пользователей)

Это утилита от Microsoft, которая позволяет управлять принтерами через командную строку. Она удаляет устройство вместе с драйверами:

rundll32 printui.dll,PrintUIEntry /dl /n "Имя_принтера" /q

Где Имя_принтера — точное название устройства без кавычек. Чтобы увидеть список всех принтеров, используйте:

wmic printer get name

Убедитесь, что имя принтера введено без опечаток

Запустите командную строку от имени администратора

Проверьте, нет ли зависимых задач печати

Сделайте бэкап реестра (на всякий случай)-->

Метод 3: Очистка через "Управление печати"

Для серверных версий Windows (Server 2012 R2 и новее):

  1. Откройте Диспетчер сервера → Службы → Управление печати.
  2. В разделе Принтеры найдите устройство, кликните правой кнопкой → Удалить.
  3. Перейдите в Драйверы и удалите соответствующий драйвер (если он не используется другими принтерами).

Метод 4: Ручное удаление из реестра (последний шанс)

Если принтер всё ещё появляется после перезагрузки, его записи остались в реестре. Внимание: неверные изменения в реестре могут нарушить работу системы.

  1. Нажмите Win + R, введите regedit.
  2. Перейдите по пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers
  3. Удалите папку с именем принтера.
  4. Проверьте также раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\... на наличие остаточных записей.
Что делать, если нет прав на редактирование реестра?

Если при попытке изменить реестр вы видите ошибку "Отказано в доступе", значит ваша учётная запись не имеет полных админ-прав. Решения:

1. Запустите regedit от имени встроенного администратора (в командной строке: `runas /user:Администратор regedit`).

2. Восстановите права через `secpol.msc` → Локальные политики → Назначение прав пользователя → "Запретить доступ к реестру" (убедитесь, что ваша группа там не указана).

3. В крайнем случае загрузитесь в безопасном режиме с поддержкой командной строки и используйте `reg load` для редактирования куста реестра офлайн.

3. Удаление принтера в Linux (CUPS)

В Linux-системах (Ubuntu, CentOS, Debian) за печать отвечает система CUPS (Common Unix Printing System). Удаление здесь проще, но требует знания терминала.

Способ 1: Через веб-интерфейс CUPS

  1. Откройте в браузере http://localhost:631 (или http://[server-ip]:631 для удалённого сервера).
  2. Перейдите в Printers, выберите устройство.
  3. Нажмите Delete Printer и подтвердите.

Способ 2: Командная строка (рекомендуется)

Используйте команду lpadmin:

sudo lpadmin -x Имя_принтера

Чтобы увидеть список всех принтеров:

lpstat -a

Способ 3: Удаление драйверов и конфигураций

Если принтер был добавлен через PPD-файл, удалите его вручную:

sudo rm /etc/cups/ppd/Имя_принтера.ppd

Затем перезапустите службу CUPS:

sudo systemctl restart cups

Стандартное удаление через GUI

Командная строка (printui.dll или lpadmin)

Ручное редактирование реестра/конфигов

Веб-интерфейс CUPS-->

4. Удаление принтера из Active Directory (для доменных сетей)

В корпоративных средах принтеры часто публикуются в Active Directory, что усложняет их удаление. Если просто удалить принтер с сервера, он может остаться в AD и автоматически восстановиться при следующем обновлении групповой политики.

Шаг 1: Удаление публикации принтера в AD

  1. Откройте Пуск → Администрирование → Управление печати.
  2. Найдите принтер, кликните правой кнопкой → Свойства.
  3. Перейдите на вкладку Общий доступ и снимите галочку Опубликовать в Active Directory.
  4. Примените изменения и удалите принтер стандартным способом.

Шаг 2: Очистка объектов принтера в ADSI Edit

Если принтер уже был опубликован, его объект мог остаться в AD. Для удаления:

  1. Откройте ADSI Edit (входит в RSAT или устанавливается отдельно).
  2. Подключитесь к домену и перейдите по пути: CN=Имя_принтера,OU=Domain Printers,DC=домен,DC=local
  3. Удалите объект принтера.
💡

После удаления принтера из Active Directory дождитесь репликации (обычно 15-30 минут) перед повторным добавлением устройства с тем же именем. Иначе могут возникнуть конфликты.

5. Решение распространённых ошибок при удалении

Даже после следуя инструкциям, вы можете столкнуться с проблемами. Вот самые частые и их решения:

Ошибка Причина Решение
"Удаление невозможно: принтер используется" В очереди есть задачи печати или принтер заблокирован другим пользователем Очистите очередь через net stop spooler → удалите файлы в C:\Windows\System32\spool\PRINTERSnet start spooler
"Не удалось удалить драйвер: устройство используется" Драйвер занят другим принтером или процессом Используйте pnputil /delete-driver oemX.inf (узнать OEM-номер можно через pnputil /enum-drivers)
Принтер появляется снова после перезагрузки Автообнаружение по mDNS или групповой политике Отключите службу Function Discovery Provider Host или настройте исключения в GPO
"Доступ запрещён" при удалении Недостаточно прав или принтер защищён ACL Возьмите владение объектом через takeown /f "путь_к_ключу_реестра" и назначьте права через icacls
💡

Если принтер удаляется, но сразу появляется снова, проверьте службу Print Spooler на наличие зависающих процессов. Иногда помогает полная перезагрузка сервера печати.

6. Как предотвратить повторное появление принтера

Чтобы принтер не возвращался как нежеланный гость, выполните эти шаги после удаления:

  • 🔄 Отключите автообнаружение: В Windows отключите службу Function Discovery Resource Publication. В Linux добавьте правило в /etc/cups/cups-browsed.conf:
    BrowseRemoteProtocols none
  • 📛 Заблокируйте IP принтера: Если устройство подключено по сети, добавьте его IP в чёрный список брандмауэра (например, через iptables в Linux).
  • 📋 Проверьте групповую политику: В gpmc.msc найдите политики развёртывания принтеров и удалите правила для данного устройства.
  • 🔍 Используйте скрипты очистки: Для Windows можно создать .bat-файл с командами удаления, который будет запускаться при старте системы.

В больших сетях полезно вести журнал удалённых принтеров (например, в Excel или Notion), чтобы отслеживать, какие устройства были деактивированы и почему. Это поможет избежать путаницы при аудите оборудования.

7. Альтернативные инструменты для управления принтерами

Если стандартные методы не работают, попробуйте специализированное ПО:

  • 🛠️ Print Node: Позволяет централизованно управлять принтерами в гетерогенных сетях (Windows + Linux + macOS). Поддерживает массовое удаление устройств.
  • 🖥️ PaperCut MF: Решение для предприятий с функцией "принудительного удаления" принтеров, даже если они заблокированы задачами.
  • 🔧 PrinterLogic: Заменяет стандартный сервер печати и предоставляет веб-интерфейс для управления устройствами без зависимости от AD.
  • 🐧 CUPS web interface: Для Linux-серверов — расширенная версия стандартного интерфейса с возможностью массовых операций.

Эти инструменты особенно полезны в виртуализированных средах (например, VMware или Hyper-V), где стандартные методы удаления могут не срабатывать из-за особенностей виртуальных портов.

💡

Сторонние инструменты типа PrinterLogic или PaperCut MF часто решают проблемы с "призрачными" принтерами, которые не удаляется стандартными средствами. Их единственный минус — стоимость лицензии.

FAQ: Частые вопросы об удалении принтеров

Почему принтер не удаляется и пишет "Операция не поддерживается"?

Эта ошибка возникает, когда:

  • Принтер подключён через WSD-порт (Windows Socket Direct). Попробуйте сначала изменить порт на стандартный TCP/IP, затем удалите.
  • Драйвер принтера повреждён. Удалите его вручную через Управление печати → Драйверы.
  • Служба Print Spooler работает некорректно. Перезапустите её или проверьте логи в Event Viewer.

Если ничего не помогает, используйте утилиту PrintBRM от Microsoft для резервного копирования и сброса конфигурации печати.

Как удалить принтер, если он не отображается в списке устройств?

Скрытые принтеры могут оставаться в системе из-за:

  • Остаточных записей в реестре: Проверьте пути HKEY_CURRENT_USER\Printers\Connections и HKEY_LOCAL_MACHINE\...\Print\Providers.
  • Закэшированных профилей: В доменных сетях принтеры могут сохраняться в профиле пользователя. Удалите папку %APPDATA%\Microsoft\Windows\Printers.
  • Виртуальных портов: Некоторые принтеры (например, PDF-принтеры) создают виртуальные порты. Проверьте их в Управление печати → Порты.

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

Get-Printer -ComputerName Имя_сервера | Where-Object {$_.Name -like "часть_имени"}
Можно ли удалить принтер удалённо через PowerShell?

Да, для этого используйте команду:

Remove-Printer -Name "Имя_принтера" -ComputerName "Имя_сервера" -Force

Чтобы удалить принтер со всех серверов в домене, используйте скрипт:

$servers = Get-ADComputer -Filter {OperatingSystem -like "Server"} -Properties Name

foreach ($server in $servers) {

Remove-Printer -Name "Имя_принтера" -ComputerName $server.Name -ErrorAction SilentlyContinue

}

Для Linux-серверов подключитесь по SSH и используйте:

ssh admin@server-ip "lpadmin -x Имя_принтера"
Как удалить все принтеры сразу (массовая очистка)?

В Windows:

Get-Printer | Remove-Printer -Force

В Linux:

lpstat -a | awk '{print $1}' | xargs -I {} sudo lpadmin -x {}

Внимание: Эта команда удалит все принтеры на сервере, включая системные (например, Microsoft XPS Document Writer). Перед выполнением сделайте бэкап конфигурации!

Что делать, если после удаления принтера перестали печатать другие устройства?

Это происходит, если:

  • Вы удалили общий драйвер, который использовался несколькими принтерами. Восстановите его через Управление печати → Драйверы.
  • Служба Print Spooler зависла. Перезапустите её:
    net stop spooler & net start spooler
  • Принтеры были сгруппированы в пул. Проверьте настройки портов в Управление печати → Порты.

Если проблема сохраняется, восстановите конфигурацию печати из бэкапа (сделанного через PrintBRM или вручную).

Get-Printer | Export-Clixml C:\backup\printers.xml

Восстановить можно командой:

Import-Clixml C:\backup\printers.xml | Add-Printer-->

Если ни один из методов не сработал, проблема может крыться глубже — например, в повреждённых системных файлах или конфликтах групповой политики. В таких случаях стоит рассмотреть сброс службы печати до заводских настроек или переустановку ролей Print Server на Windows Server. Для Linux иногда помогает полная переустановка пакета CUPS:

sudo apt-get purge cups && sudo apt-get install cups