Принтер перенаправлено не печатает
Вы наверное думаете, что сейчас пойдет речь о сервере терминалов, удаленном доступе, печати через хитрожопую непростую последовательность компьютер->сервер->компьютер->принтер HP? Вы чертовски правы! Представляю вам небольшой рассказ: как я победил сообщение «Параметр задан неверно» при печати на HP LaserJet из сеанса удаленного доступа.
Стоит у нас Сервер терминалов. Вернее, теперь это модно называть «сервер удаленных рабочих столов«. ОС – Microsoft Windows Server 2008 R2 Standart. На сервере установлена 1С-Предприятие с которым, собственно, клиенты сервера и работают. Так повелось, что принтеры у клиентов разные, но все одного производителя – Hewlett Packard.
Первым, если склероз мне не изменяет, начал бунтовать HP LaserJet P1566. Подключенный к компьютеру с Windows 7 Pro, он работал без нареканий. Но при попытке распечатать что-либо из 1С (из сеанса удаленного рабочего стола) молчал как партизан. Ну типа, нажал «Печать» – и ничего. Ни распечатанного документа, ни ошибки. Just silence. Ни на какие уловки и провокации не поддавался. Установка и переустановка драйверов разных версий не помогала, даже всемогущие и всезнающие поисковики выдавали всякий фарш из информации, дабы не признаваться что тут они бессильны. Удалось лишь выяснить, что если попытаться из удаленного сеанса распечатать текстовый документ из блокнота, получается ошибка «Параметр задан неверно». Это была первая зацепка. Хотя ни «мастер исправления неполадок», будь он неладен, ни поиски по подробностям полученной ошибки ни к чему не привели.
Вобщем, поставил вместо этого партизана другую модель (HP LaserJet 1022), которая заработала как положено (была тогда такая возможность).
Долго ли, коротко ли, да только начал и другой принтер страдать таким же безобразием. Я уже начал подумывать, что это заговор машин против человечества. Но как-то очередной раз, разбираясь как там происходит печать на сервере удаленных рабочих столов, набрел на описание новомодной фичи от майкрософт – TS Easy Print. Оказывается печатать родными драйверами принтера с сервера нынче моветон и Майкрософт решила осчастливить системных администраторов новой технологией. Если интересуетесь подробностями, в конце статьи есть ссылки.
Как можно догадаться, далее я отключил использование по умолчанию Easy Print и – о чудо, все заработало!
После чего я вспомнил о страждущих, попавшихся мне на просторах рунета, страдающих от этой же проблемы. Наиболее подходящим местом для описания решения мне показался форум Microsof TechNet (этого блога тогда еще не было). Теперь вот решил этот случай зафиксировать для истории и здесь, хотя, вполне возможно, что, с обновлениями Server 2008 R2, эта проблема уже решена, у меня пока нет желания проверять. В поисковиках подобного описания я не нашел, посему дублирую свой пост из TechNet:
На сервере терминалов:
Пуск -> Выполнить -> gpedit.msc -> Конфигурация компьютераАдминистративные шаблоныКомпоненты WindowsСлужбы терминаловСервер терминаловПеренаправление принтеров -> использовать в первую очередь драйвер принтера Easy Print служб терминалов. Отключай нафик!
Теперь перезапусти сеанс клиента, у которого проблема с LaserJet 1120. И в его сеансе: Пуск, Устройства и принтеры, HP LaserJet M1120 (перенаправлено бла. бла. ), правая кнопка мыши, Свойства принтера, вкладка Дополнительно.
В графе «Драйвер» не должен быть Easy Print Driver. Если эта гадина ещё там, значит на сервер надо установить подходящую версию драйвера для твоего принтера.
Новая волшебная технология Microsoft Easy Print Driver предназначалась освободить администраторов от установки драйверов принтеров на сервер терминалов. И у многих, дай бог ей здоровья, работает. Но, по крайней мере, с некоторыми моделями HP выдает труднодиагностируемую ошибку. (У меня не работает с HP LaserJet Pro 1566, HP LaserJet Pro M1212nf и HP LaserJet P1606dn). Кроме того, говорят, EPD способна превратить три страницы документа в 15мб трафика.
По-умолчанию, сервер терминалов пытается использовать Easy Print Driver, и если не получается (например, клиент не поддерживает), подбирает родной драйвер принтера. После отключения «Использовать в первую очередь драйвер принтера Easy Print», сервер наоборот, в первую очередь найти подходящий принтеру драйвер, а потом использует Easy Print.
(там, кстати, в коментах девушка описала такую же ситуацию как у нас с тобой)
Может пригодиться при установке родного/подходящего драйвера:
Причины ошибки и способы решения
Основными причинами появления ошибки являются: нарушение работы службы диспетчера печати, изменение доступов администраторами системы (актуально для корпоративных компьютеров), физические проблемы с принтером. Ошибку также могут вызывать слетевшие драйвера, вирусная активность или изменение папки spool или библиотек, необходимых для работы с принтерами.
Вернуть принтер к работе достаточно просто. Но для начала следует убедиться, что проблема не вызвана банальными вещами:
- Если на корпоративном компьютере перестало работать подключение к принтеру по причине «Отказано в доступе», стоит убедиться в наличии прав на доступ к устройству. Разграничение прав на корпоративных устройствах обычно идет по крупным группам пользователей, и какие-либо изменения могли затронуть проблемный компьютер. Для решения ситуации следует обратиться к корпоративному системному администратору.
- Не помешает проверить компьютер на вирусы, а также запустить командную строку, ввести sfc /scannow и нажать Enter для диагностики всей системы. Это действие позволит Windows восстановить нужные библиотеки и системные файлы, если они были повреждены из-за вирусной активности или по иной причине.
- Следует убедиться в отсутствии физических проблем с принтером, компьютером и сетью, из-за которых подключение к устройству может отсутствовать.
Ошибка «Windows не удается подключиться к принтеру» имеет дополнительные коды и уведомления, что иногда позволяет разобраться в причине:
- Локальная подсистема печати не выполняется.
- Отказано в доступе.
- Коды ошибки: 0x00000006, 0x00000002, 0x0000000a, 0x00000057, 0x0000007e, 0x00004005, 0x000003eb, 0x000005b3, 0x0000003eb.
На большое количество системных кодов ошибок можно не обращать внимания. Большинство проблем, вызывающих данную ошибку подключения к принтеру, решаются одними и теми же действиями.
KB5005010 мешает установке новых принтеров
- Install the July 2021 Out-of-band or later updates.
- Check if the following conditions are true:
- Registry Settings: HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTPrintersPointAndPrint
- NoWarningNoElevationOnInstall = 0 (DWORD) or not defined (default setting)
- UpdatePromptSettings = 0 (DWORD) or not defined (default setting)
- Open the group policy editor tool and go to Computer Configuration >Administrative Templates >Printers.
- Configure the Point and Print Restrictions Group Policy setting as follows:
- Set the the Point and Print Restrictions Group Policy setting to «Enabled».
- «When installing drivers for a new connection»: «Show warning and elevation prompt».
- «When updating drivers for an existing connection»: «Show warning and elevation prompt».
Important We strongly recommend that you apply this policy to all machines that host the print spooler service.
Restart requirements: This policy change does not require a restart of the device or the print spooler service after applying these settings.
3. Use the following registry keys to confirm that the Group Policy was applied correctly:
- NoWarningNoElevationOnInstall = 0 (DWORD)
- UpdatePromptSettings = 0 (DWORD)
Note Configuring these settings does not disable the Point and Print feature.
Отключить диспетчер очереди печати из приложения служб
Прежде чем отключить службу диспетчера очереди печати, обратите внимание, что вы не можете печатать или отправлять факсы с помощью компьютера с отключенной службой диспетчера очереди печати. Если вам нужно что-то распечатать или отправить по факсу, вам нужно будет повторно включить службу.
- Нажмите Win + R и введите services.msc. Нажмите Enter, и это должно запустить панель Services.
- Прокрутите список услуг и найдите «Диспетчер очереди печати».
- Дважды щелкните Диспетчер очереди печати и измените Тип запуска на Отключено.
- Затем служба может уже работать в вашей системе, поэтому вам необходимо остановить ее. Выберите «Стоп», чтобы прекратить обслуживание, и нажмите «ОК», чтобы сохранить изменения и выйти.
Два решения для закрытия уязвимости CVE-2021-34527 (PrintNightmare)
Чтобы отключить диспетчер очереди печати, выполните следующие рекомендации:
- Откройте PowerShell с повышенными привилегиями, например, используя сочитание клавиш Win + X и из выпадающего списка выберите Windows PowerShell (Администратор).
- Поочередно запустите следующие команды:
Последние две команда останавливают службу диспетчера очереди печати и отключают её.
Обратите внимание. После внесения изменений вы больше не сможете использовать функцию печати (если снова не включите службу диспетчера очереди печати).
Решение через реестр
Данное решение предложил комментатор Valdiz в комментариях к этой статье.
Как показывает практика, это решение помогает примерно в половине случаев. Мы рекомендуем всё-таки сразу удалять обновления ОС.
Запустите редактор реестра (regedit). Перейдите в ветку HKEY_LOCAL_MACHINESystemCurrentControlSetControlPrint . Создайте параметр типа DWORD32 с именем RpcAuthnLevelPrivacyEnabled и установите ему значение 0 .
Или скачайте файл fix-0x0000011b.zip (1 КБ), разархивируйте, запустите файл fix-0x0000011b.reg и разрешите ему внести изменения в реестр.
Решение 5. Запустите средство устранения неполадок принтера
Если ни одно из приведенных выше решений не помогло решить проблему с диспетчером очереди печати, мы попробуем использовать средство устранения неполадок Windows 10.
Microsoft представила этот инструмент с обновлением Creators для Windows 10, и вы можете использовать его для решения различных системных ошибок, включая проблемы с принтером. Вот как запустить средство устранения неполадок Windows 10:
Метод 4: снова включите функцию CopyFiles
Наконец, для некоторых драйверов принтеров HP требуется функция CopyFiles , которую Microsoft по умолчанию отключила в сентябре.
Для пользователей, которым все еще нужна эта функция, Microsoft представила скрытую групповую политику, которая позволяет вам снова включить ее.
Чтобы включить функцию CopyFiles, создайте значение реестра Windows в разделе HKLMSoftwarePoliciesMicrosoftWindows NTPrinters с именем CopyFilesPolicy . Если установлено значение «1», CopyFiles снова будет включен.