Windows server 2008 r2 не устанавливается принтер

Обновлено: 05.07.2024

Как ставите принтер на сервере, через запуск Setup скачанного с HP файла? Так ничего и не установится, надо распаковать файл архиватором вроде 7-Zip/WinRAR, в панели управления-принтеры зайти в свойства сервера и добавляете драйвер, указав папку с распакованными файлами. Далее идете в диспетчер сервера, Роли, Конфигурация сервера терминалов и в свойствах RDP-Tcp посмотреть, что не выключено перенаправление принтеров. Аналогично проверить в свойствах запуска удалённого рабочего стола на клиентах. Если на клиентах и сервере стоят драйверы одной версии (пусть и для разных платформ/ОС), создающие принтер с одинаковым названием, например HP Universal Printing System PCL 6 (5.0), то принтеры должны будут автоматически подключаться клиентам. А вот, к примеру, если на клиенте принтер выглядит как HP Universal Printing System PCL 6 (5.1), а на сервере стоит драйвер HP Universal Printing System PCL 6 (5.0), то принтер может смапится, а может и нет, надо унифицировать драйверы на клиентах и сервере.

В целом, по возможности следует мигрировать на Easy Print. Достаточно поставить на клиентах NET Framework 3.5 SP1 и включить драйвер EasyPrint на сервере, для последнего в групповой политике «Конфигурация компьютера - Административные шаблоны - Компоненты Windows- Службы терминалов - Перенаправление принтеров» включить параметр «Использовать в первую очередь драйвер принтера Easy Print служб терминалов» и проверить, что не включен «Не разрешать перенаправление клиентских принтеров». Но у Easy Print есть серьёзные проблемы с продуктами отечественных погромистов: 1С 7.7, Налогоплательщик ЮЛ, банк-клиенты всякие. Может вылезать муть при печати и даже падать сервер, так что сначала протестировать такие вещи перед изменением групповой политики. Ну и если народу надо сотни листов печатать каждый день, то EasyPrint по скорости не устроит.

Не то дело. Ничего не помогает. Я уже в службу техподдержки хьюлета запостил. Ну да когда ж они ответят!
Один мой друже посоветовал, ты грит мол когда дрова на принтер ставишь, ставь его не как сетевой, а тащи принтер, и локально прям к серваку подключай. А потом тащи принтер на место, и когда как сетевой будешь его добавлять - распознается миленький, и драйверов не попросит, и в удалённом доступе будет виден. Но поди-ка ж ты перетаскай все эти принтеры. От сервака да назад.
Ну что я могу сказать? Мой вывод. За 15 лет работы с серверами какой либо то ни было ОС, говорю однозначно - 2003 сервер ещё кое-как можно жевать, 2008 - просто блевотина, всю скучено, всё переплетено, всё как в мозгах у дауна - не поймёшь где что. DrEvil, Судья Дредд, Вы пожалуйста во все тонкости до такой степени не впадайте, нужен конструктивный совет, а не праздные размышления. По всем параметрам я побегал уж ой как не мало, не так-то просто организовать доступ с удаленных компов. И всё там прошерстил. Куда проще было на сервере 2003, но так чуствую, что мелкософт с каждым годом только запутывает клубок. И распутывай его потом. И при этом, уважаемый судья дредд, ни папка с драйверами - официально с сайта хьюлета, ни через прогу сетап (инсталл), принтер не добавляется как сетевой. Easyprint - идея, да не для такой большой организации.

Какой принтер и какой драйвер хоть скажите, вдруг у меня в хозяйстве такой же есть, скажу как и с каким драйвером работает.

Конструктивно, есть два метода настройки печати для клиентов на терминале:

1. заход под каждым пользователем и установка ему принтера стандартным способом. Перенаправление принтеров в клиенте и на сервере при этом должно быть отключено. Ни в коем случае не следует ставить сетевой принтер по правому клику на расшаренном принтере или указывать его как сетевой при установке через мастер — это работать не будет. Надо ставить через мастер, но указывать что принтер локальный, затем на этапе указания порта создать новый порт вида Local Port и в имени порта указать путь к расшаренному принтеру, типа \\server\HPLaserJ . После этого можно будет указывать драйвер - проверка на совпадение драйверов на хосте расшаренного принтера и на сервере терминалов уже делаться не будет, а именно на ней у вас, скорее всего, все и валится.

Минус варианта - печать полностью зависит от сервера, т.е. он сам должен разбираться с форматами очереди, процессингом, доступностью портов и т.п.

2. автоматическое перенаправление принтеров. Включаются соответствующие политики на сервере и опции на клиенте. На сервере терминалов никакие принтеры при этом вручную не устанавливаются - только добавляются драйверы в свойствах сервера печати. При подключении клиента его принтер устанавливается на сервере автоматически, если имя принтера в драйвере на клиенте и в драйвере на сервере сопадает.

В этом варианте вся печать отправляется с сервера на клиент через RDP, и уже клиент разбирается с очередями, процессорами и портами.

У вас есть компьютер под управлением 64-разрядной версии Windows 7 или Windows Server 2008 R2.

При попытке открыть мастера Установки принтера с помощью 32-разрядной Printui.exe, расположенный в папке %windir%\SysWOW64 или с помощью команды rundll32 printui.dll,PrintUIEntry на компьютере.

Windows не удается открыть мастер добавления принтера. Операция не может быть завершения (ошибка 0x0000007e).

Кроме того компьютер может перестать отвечать на запросы при использовании команды rundll32 printui.dll,PrintUIEntry спараметром/o, /p, /s или/e .

Причина

Эта проблема возникает, так как файл Printui.dll вызывает 32-разрядный файл Tcpmonui.dll, который находится не в папке %windir%\SysWOW64 .

Решение

Сведения об исправлении

Существует исправление от корпорации Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте это исправление только в тех случаях, когда наблюдается проблема, описанная в данной статье. Это исправление может проходить дополнительное тестирование. Таким образом если вы не подвержены серьезно этой проблеме, рекомендуется дождаться следующего пакета обновления, содержащего это исправление.

Если исправление доступно для скачивания, имеется раздел "Пакет исправлений доступен для скачивания" в верхней части этой статьи базы знаний. Если этот раздел не отображается, обратитесь в службу поддержки для получения исправления.

Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Чтобы получить полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание, посетите следующий веб-сайт корпорации Майкрософт:

Примечание. В форме "Пакет исправлений доступен для скачивания" отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.

Предварительные условия

Чтобы применить это исправление, необходимо использовать одну из следующих операционных систем:

Windows 7 с пакетом обновления 1 (SP1)

Windows Server 2008 R2

Windows Server 2008 R2 с пакетом обновления 1 (SP1)

Дополнительные сведения о получении пакета обновления Windows Server 2008 R2 или Windows 7 щелкните следующий номер статьи базы знаний Майкрософт:

сведения о Пакет обновления 1 для Windows 7 и Windows Server 2008 R2

Необходимость перезагрузки

Может потребоваться перезагрузить компьютер после установки данного исправления.

Сведения о замене исправлений

Это исправление не заменяет ранее выпущенные исправления.

Сведения о файлах

Английский (США) версия данного исправления устанавливает файлы с атрибутами, указанными в приведенных ниже таблицах. Дата и время для файлов указаны в формате UTC. Дата и время для файлов на локальном компьютере отображаются в местном времени с вашим текущим смещением летнего времени (DST). Кроме того, при выполнении определенных операций с файлами, даты и время могут изменяться.

Примечания к сведениям о файлах Windows 7 и Windows Server 2008 R2

Важно. Исправления для Windows Server 2008 R2 и Windows 7 включены в одни и те же пакеты. Однако исправления на странице запроса исправлений перечислены под обеими операционными системами. Чтобы запросить пакет исправления, который применяется к одной или обеим ОС, установите исправление, описанное в разделе "Windows 7/Windows Server 2008 R2" страницы. Всегда смотрите раздел "Информация в данной статье относится к следующим продуктам" статьи для определения фактических операционных систем, к которым применяется каждое исправление.

Файлы, относящиеся к определенному продукту, этапу разработки (RTM, SPn) и направлению поддержки (LDR, GDR) можно определить путем проверки номера версий файлов, как показано в следующей таблице.

Файлы MANIFEST (.manifest) и MUM (.mum), устанавливаемые для каждой среды, указаны отдельно в разделе "Сведения о дополнительных файлах для Windows Server 2008 R2 и Windows 7". Файлы MUM и MANIFEST, а также связанные файлы каталога безопасности (CAT) чрезвычайно важны для поддержания состояния обновленных компонентов. Файлы каталога безопасности, для которых не перечислены атрибуты, подписаны цифровой подписью корпорации Майкрософт.

date

17.09.2021

directory

Windows 10, Windows 7, Windows Server 2019

comments

комментариев 27

В этой статье мы способы решения распространённых ошибок (0x0000011b и 0x00000002), которые могут возникнуть в Windows при подключении сетевых принтеров с удаленных компьютеров (принт-серверов). Найдите в списке ниже ошибку, которая появляется у вас при подключении сетевого принтера и перейдите к решению.

Ошибка 0x00000002 при установке сетевого принтера

Ошибка 0x00000002 может возникнуть при попытке подключить сетевой принтер через принт-сервер и TCP/IP порт как в Windows 10, так и в Windows 7. После того, как вы открыли список сетевых принтеров на удаленном компьютере (через UNC путь в формате \\computername ), и нажали кнопку Подключить, появляется ошибка:

Windows cannot connect to the printer. Operation failed with error 0x00000002

Windows не удается подключиться к принтеру В ходе операции произошла ошибка 0x00000002

Наличие ошибки 0x00000002 чаще всего значит, что драйвер для данного принтера, установленный на компьютере поврежден. В первую очередь стоит попробовать удалить данный драйвер из хранилища драйверов (по аналогии с кейсом об ошибке 0x00000057).

printui.exe /s /t2

В списке установленных драйверов найдите драйвер принтера, который вы пытаетесь установить и удалите его, нажав Remove и выбрав опцию удаления Remove driver and driver package.

printui /s /t2 - удалить драйвер принтера

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

Remove-PrinterDriver -Name "HP Universal Printing PCL 6"

cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prndrvr.vbs" -d -m "HP Universal Printing PCL 6" -e "Windows x64" -v 3

Перезапустите диспетчер печати ( net stop spooler & net start spooler ) и попытайтесь еще раз подключить принтер.

Скорее всего драйвер установится и принтер подключится успешно.

Если нет, попробуйте такой способ:

  1. Удалите ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
  2. Если в папке c:\Windows\System32\spool\prtprocs\x64 есть подкаталоги с именами от 1 до 499, удалите все эти подкаталоги и файлы кроме winprint.dll
  3. Удалите все Print Processors и драйвера (за исключением winprint) из ветки HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments
  4. Перезагрузите компьютер и установите принтер

Ну и как обходной вариант, если предыдущие не сработали, подключите принтер через UNC адрес по инструкции из статьи Печать на сетевом принтере на Windows 10 из-под XP.

Ошибка 0x0000011b: Windows не может подключить сетевой принтер

Массовая проблема с подключением сетевых принтеров Windows с ошибкой 0x0000011b началась после установки обновлений безопасности Windows с 15 сентября 2021 года.

При подключении сетевого принтера с удаленного компьютера, на котором открыт общий доступ к принтеру, появляется ошибка:

ошибка 0x0000011b при подключении сетевого принтера в Windows 10

Данная проблема связана с последними обновлениями безопасности, в которых Microsoft пытается закрыть уязвимость Print Nightmare. К сожалению, обновления не до конца протестированы и вызывают массовые ошибки 0x0000011b.

Для решения проблемы нужно удалить проблемное обновление на компьютере, на котором расшарен принтер (!). В зависимости от версии Windows на компьютере, раздающем принтер нужно удалить одно из следующих обновлений:

обновление windows 10 KB5005565 от 15 сентября 2021 года вызывает проблему сподключением сетевых принтеров

Для удаления обновления перейдите в Start -> Settings -> Update & Security -> View Update History -> Uninstall updates. Выберите недавно установленное обновление в зависимости от вашей версии Windows (например, Security Update for Microsoft Windows (KB5005565) ) и нажмите Uninstall.
Или восопльзуйтесь командой (укажите номер обновления для вашего билда Windows):
wusa.exe /uninstall /kb:5005565

Перезагрузите компьютер и попробуйте подключить сетевой принтер вручную или через групповые политики. Обратите внимание, что если пользователи не могут подключить сетевые принтера без прав локального администратора (из-за патча уязвимости PrintNightmare), то вы можете временно разрешить установку принтеров пользователям, выполнив команду:

reg add "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint" /v RestrictDriverInstallationToAdministrators /t REG_DWORD /d 0 /f

После этого пользователь сможет подключить принтер, и вы должны установить значение RestrictDriverInstallationToAdministrators = 1 .

После удаления обновления его нужно скрыть из установки. В этом случае оно не будет автоматически устанавливаться при следующем цикле сканирования Windows Update.

$HideList = "KB5005565", "KB5005566", "KB5005568"
Hide-WindowsUpdate -KBArticleID $HideList -Verbose

Если вы не можете удалить обновление, тот как обходное решение вы можете подключить сетевой принтер через локальный порт. Например, имя локального порта для подключения принтера с удаленного компьютера может выглядеть так:

Сегодня я бы хотел поделиться своим опытом устранения проблем печати на терминальном сервере Microsoft.

Подробности под катом.

Вместо Intro

Наверняка, почти каждый системный администратор, работающий с Windows и, в частности, с терминальным сервером, сталкивался с проблемами печати.
Разрывается телефон, у всех одна и та же проблема: «Нажимаю на печать — ничего не происходит!». Идем смотреть логи и видим следующую картину:

image

Причины и решения

Итак, из-за чего может происходить подобная ситуация? Большую часть подобных ситуаций вызывают установленные на сервере драйверы.

  • Необходимо помнить, что драйверы у клиентов и на сервере должны быть идентичны
  • Убедитесь, что включена изоляция драйверов
  • Удалите все драйвера на сервере и попробуйте использовать TS Easy Print
  • Попробуйте решения сторонних компаний

А теперь пройдемся подробнее по всем пунктам. Для начала установим на наш терминальный сервер роль «Службы печати и документов».

image

Это позволит нам удобно управлять драйверами и принтерами, установленными в системе.

Идентичные драйвера

Думаю, тут особо не о чем рассказывать. Стоит помнить, что драйвера необходимо брать с официальных страниц изготовителя принтера. Так же еще один момент — стабильнее всего ведут себя PCL5. Если есть возможность выбора между PCL5 и PCL6 — стоит установить PCL5 (соответственно, серверу и клиенту).

Изоляция драйверов

В Windows 2008 появилась замечательная возможность изоляции драйверов принтера. Теперь драйвер принтера подгружается не Spoolsv.exe а специальным процессом PrintIsolationHost.exe. При «вылетании» драйвера принтера «слетает» только один экземпляр PrintIsolationHost.exe, а сама служба «Диспетчера печати» остается работоспособной, что, как понимаете, весьма влияет на настроение пользователей ;)

Чтобы включить данную возможность, нам необходимо открыть редактор локальной групповой политики (gpedit.msc) и пройти следующим путем: «Параметры компьютера -> Административные шаблоны -> Принтеры». Находим и включаем следующие пункты:

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

image

TS Easy Print

Видимо, вняв наконец стенаниям системных администраторов, компания Microsoft решила что-то сделать с необходимостью ставить зоопарк драйверов на терминальный сервер и падающим из-за этого spoolsv.exe. В итоге, на свет родилась технология TS Easy Print. Ключевой особенностью является, то, что больше нам не нужно устанавливать на сервер драйвера для каждого принтера — вместо этого используется унифицированный драйвер Remote Desktop Easy Print, соответственно, мы уходим от проблемы падающего спулера — ведь все операции с печатью выполняются на компьютере клиента.
Для того, чтобы явно определить, что мы хотим использовать на терминальном сервере TS Easy Print, необходимо пройти опять же в редактор локальной групповой политики (gpedit.msc) по следующему пути: «Параметры компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Перенаправление принтеров». Нас интересуют следующие пункты, которые надо включить:

  • Использовать в первую очередь драйвер принтера Easy Print удаленного рабочего стола
  • Перенаправлять только используемый по умолчанию принтер клиента

image

Далее, необходимо очистить наш сервер от лишних драйверов принтеров. Это можно сделать в менеджере роли «Службы печати и документов».
Внимательно удаляйте драйвера! Необходимо оставить в живых такие вещи, как «Remote Desktop Easy Print» и «Microsoft XPS Document Writer». Именно они и отвечают за передачу печати на клиента.

Решения сторонних компаний

Избавиться от проблемы падающего спулера призваны такое ПО как, например, ScrewDrivers (сайт). Оно предоставляет клиент-серверную архитектуру.
Сервер ScrewDrivers — это компонент, который необходимо установить на серверы, на которых планируется использовать печать в терминальном сеансе. Клиент ScrewDrivers должен быть установлен на рабочих станциях. Именно этот компонент позволяет создать на терминальном сервере виртуальные принтеры, которые соответствуют локальным принтерам пользователя.
В целом, напоминает Easy Print, но не бесплатно (впрочем, есть лекарства ;).

Читайте также: