Не печатает принтер по rdp server 2012 r2
Многим знакома схема, когда терминальный сервер находится в центральном офисе, на котором крутятся 1С-Предприятие и базы, а клиенты работают через «удаленный рабочий стол» использую терминального клиента Windows. Все бы хорошо, но во все годы существовали проблемы с печатью на принтер , подключенный к локальному компьютеру. Проблема просто решаема, если все компьютеры находятся в одной локальной сети. Открываем доступ к локальному принтеру, устанавливаем драйвера на сервер — готово. Только каждому пользователю нужно выбрать свой аппарат при выводе на печать. А если компьютеры разбросаны по городу или стране и некому городить огород типа VPN?
В настоящий момент при использовании современных операционных систем Windows Server 2008 и Windows 7 проблему условно можно считать решенной. В подавляющем большинстве случаев принтер автоматически пробрасывается через RDP и пользователь даже не знает существовании проблем. Но.. К сожалению нередко возникали ситуации, что принтер виден в устройствах, а печать не идет, выскакивает ошибка. Из собственного опыта столкнулся с принтером HP LaserJet p1102. Не знаю чем обусловлено , что именно он из нескольких других ни в какую не сдается. Возможно, из-за того что он сидел через принтсервер , хотя за другими принтерами такого не наблюдалось.
Заставить работать МФУ-шки от НР так и не получилось. Не можем решить проблему — обойдем. Как выяснилось на ура пробрасывается любой виртуальный принтер. Сначала были эксперименты с «облачными» принтерами. Модная технология, все заработало, но очень сложно, громоздко и ты зависишь от поставщика сервиса . Недоступен ресурс типа »Сloud Printer Service» и встало предприятие. Красивым и надежным стало использование виртуального принтера. Ниже рекомендуемый список (взят из Википедии)
Мы использовали PDFCreator. Преимущества :
2. Множество функций автоматизирования печати и других действий.
Качаем устанавливаем. Появляется новый принтер PDFCreator
Далее заходим в настройки программы и ставим галочку «Использовать автосохранение»
Далее заходим в «Печать» и выбираем свой принтер
Теперь подключаясь с серверу терминалов мы видим PDFCreator (перенаправлено)
Его и указываем принтером по-умолчанию.
В этой статье данная статья позволяет решить проблему, при которой перенаправление принтера не работает и не происходит никаких ИД событий.
Применяется к: Windows Server 2012 R2
Исходный номер КБ: 2003646
Симптомы
Перенаправление принтера не работает. Перенаправление диска работает. Никакие ID-события не видны.
Причина
Дескриптор безопасности spooler должен содержать ACL ACL (Список управления доступом), который позволяет любому пользователю с проверкой подлинности открывать службу spooler для операций чтения.
В этом случае ACL отсутствовал в дескрипторе безопасности spooler.
Решение
Запустите следующую команду, чтобы показать текущие дескрипторы безопасности в шпалере печати:
Unaltered SD (дескриптор безопасности) для шпалер печати должен выглядеть так:
D:(A;; CCLCSWLOCRRC;;; AU)(A;; CCDCLCSWRPWPDDLOCRSDRCWDWO;;; BA)(A;; CCLCSWRPWPDTLOCRRC;;; SY)
Важным ACL в этом случае является ACL для пользователя, который прошел проверку подлинности( AU), так как TS выполняется в качестве сетевой службы, для успешного открытия службы spooler она полагается на этот ACL. Добавление следующего обратного ACL исправит проблему.
Чтобы добавить отсутствующий ACL, можно реализовать следующий метод.
Выполните следующую команду:
Вы увидите все acLs, за исключением "(A;; CCLCSWLOCRRC;;; AU)" ACL при открываемом текстовом файле.
Ниже приводится пример: (вы можете видеть другой выход в зависимости от разрешений, установленных на шпалере)
D:(A;; CCLCSWLOCRRC;;; AU)(A;; CCDCLCSWRPWPDDLOCRSDRCWDWO;;; BA)(A;; CCLCSWRPWPDTLOCRRC;;; SY)
Затем можно скопировать вышеуказанное в блокноте следующим образом:
sc sdset spooler D: (A;; CCLCSWLOCRRC;;; AU)(A;; CCLCSWLOCRRC;;; AU)(A;; CCDCLCSWRPWPDDLOCRSDRCWDWO;;; BA)(A;; CCLCSWRPWPDTLOCRRC;;; SY)
Убедитесь, что вы примыкаете к "sc sdset spooler D: (A;; CCLCSWLOCRRC;;; AU)" раздела выше команды к выходу, который вы видите в вашем случае.
Скопируйте и вклеите эту команду в командную подсказку. (Убедитесь, что "(A;; CCLCSWLOCRRC;;; AU)" появляется в начале. Я не знаю, почему это так, как кажется, работает.)
При запуске вышеуказанной команды сохраняются старые ACL, а также добавляется отсутствующий ACL, который является для пользователя с проверкой подлинности (AU).
Дополнительная информация
Ниже приводится список других вещей, которые можно найти в проблеме "Перенаправление принтера не работает":
Технология TS Easy Print была впервые представлена в Windows Server 2008 в качестве альтернативы использованию традиционной подсистемы печати на терминальных серверах RDS. Easy Print позволяет избежать установки драйверов для перенаправленных принтеров на сервере терминалов и позволяет сопоставлять перенаправленный клиентский принтер с драйвером Easy Print. Это значительно повышает стабильность и производительность работы службы диспетчера очереди печати и сервера RDS в целом.
Функционал Easy Print основана на спецификациях, определенных в стандарте XPS для драйверов принтеров. Основные преимущества формата XPS: использование открытого формата документа, портативность и независимость от аппаратной платформы, низкие требования к пропускной способности канала (за счет использования более легкого стандарта XML). Задание печати XPS через сеанс RDP передается на клиентский ПК и обрабатывается локальным драйвером печати.
Настройка Easy Print на стороне клиента
Для использования Easy Print на стороне клиента, он должен соответствовать следующим требованиям:
Если вместо клиент mstsc.exe, вы используете для подключения настроенный.rdp файл, в нем должна присутствовать следующая строка:
Настройка Easy Print на стороне сервера Remote Desktop Server
Драйвер печати Easy Printer устанавливается на сервере при развертывании роли служб удаленных рабочих столов (RDS), а в списке принтеров появляется новый принтер с именем Microsoft XPS Document Writer. Этот драйвер печати поддерживает различные модели принтеров.
В Windows Server 2012 R2 включить обязательное использование технологии Easy Print на стороне сервера RDS можно только через групповые политики.
Совет. В том случае, если клиент не поддерживает использование драйвера Easy Print, сервер RDS автоматически пытается использовать установленный на нем драйвер для данной модели принтера (если он, конечно, имеется).
После привязки политики к нужному контейнеру AD, можно протестировать политику.
- Обновите групповые политики на сервере Remote Desktop командой gpupdate /force
- Завершите текущую RDP сессию (logoff) и подключитесь к серверу еще раз
- Перейдите в раздел Панели управления -> Устройства и принтеры
- Найдите принтер, перенаправленный в рамках вашей RDP сессии и откройте его свойства
- Перейдите на вкладку Advanced и удостоверьтесь, что для данного принтера используется драйвер Remote Desktop Easy Print
- Send the test print job and make sure that it is properly printed on a local printer
По умолчанию количество перенаправленных принтеров в сессии ограничено числом 20. Изменить эту настройку можно через реестр. Для этого в ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
нужно создать параметр MaxPrintersPerSession со значением, равным максимальному количеству принтеров, которые должны перенаправляться в рамках RDP сессии.
Для лучшей производительности предпочтительнее перенаправлять с клиента только один принтер, используемый по умолчанию. Для реализации этой концепции достаточно включить политику Redirect only the default client printer.
Таким образом, благодаря использованию Remote Desktop Easy Print, существенно упрощается настройка подсистемы печати на терминальных серверах, а администратору нет необходимости устанавливать на RDS серверах драйвера для различных моделей принтеров, используемых клиентами.
Что такое сервер печати
Как вы понимаете это сервер или виртуальная машина, на которой стоит роль и с помощью нее идет централизованное администрирование и распространение принтеров на устройства и пользователей в локальной сети. Ниже представлен пример, как это выглядит.
Сервер печати windows server 2012
Приступим к настройке, делать я это буду на контроллере домена так как данный функционал совсем не нагружает сервак, первым делом вам необходимо открыть Диспетчер сервера и в правом верхнем углу нажать Управление > Добавить роли и компоненты, в 2012 да и в 2008 r2, все ставилось через данные мастера.
У вас откроется мастер добавления ролей и компонентов, на первом окне можете ничего не читать, там одна вода, жмем далее.
Оставляем выбор на Установка ролей и компонентов, так как мы будем ставить на один сервак
Выбираем сервер для инсталляции.
ставим галку на против Слыжбы печати и документов и жмем далее.
Дополнительных компонентов ставить не нужно, так что этот шаг просто пропускаем.
На этом шаге мастер вам расскажет более подробно про сервер сетевой печати, если интересно, то почитайте.
Теперь у вас на выбор будет 4 галки
- Сервер печати > ее выбирает, так как наша роль
- Печать через интернет > тут как бы все понятно из названия
- Сервер распределенного сканирования
- Службы LPD > Для Linux платформ
Все жмем установить.
Процесс довольно таки быстрый.
Обратите внимание, что по завершению вас не попросят перезагружаться.
все роль установилась, открываем Средства в диспетчере сервера и далее Управление печатью.
Продолжаем делать наш сервер печати windows server 2012. В открывшейся оснастке mmc откройте Серверы печати > далее ваш > Принтеры. Как видите у вас только стандартный Microsoft XPS принтер. Логично, что вам нужно поставить все ваши сетевые принтеры. У меня в сети настроена пачка сетевых принтеров HP LaserJet 400 MFP M425dn
Открываем панель управления > Устройства и принтеры. Жмем вверху Добавление принтера.
В открывшемся окне, будет произведен поиск доступных принтеров в Active directory. если у вас ничего не нашло, то жмем Нужный принтер отсутствует в списке.
Теперь настройка сервера печати windows попросит вас добавить локальный или сетевой принтер от имени администратора.
Выбираем добавить принтер по его TCP/IP адресу или имени. Советую всегда использовать dns имена и не привязываться к ip адресам.
- Тип устройства > Устройство TCP / IP
- Имя или Ip адрес > DNS имя
- Имя порта > что угодно понятное вам, у меня это расположение в офисе
Теперь будет произведена установка драйвера, можете поставить свой, но мне достаточно было использовать рекомендуемый.
И зададим имя, по которому его смогут искать.
Указываем есть ли до него общий доступ или нет.
Вот так вот выглядит мой список,
Откройте теперь проводник и введите \\имя вашего сервера и вы получите список всех принтеров что на нем есть.
Щелкаем по любому из них двойным кликом и начнется установка.
Все как видите у меня появился нужный мне сетевой принтер.
в следующей статье я вам расскажу как эти принтеры можно назначить с помощью групповых политик, так как в ручную можно поставить когда требуется единовременно или одному человеку, а вот если мы говорим про отделы, то тут GP просто не заменима.
Читайте также: