Технология TS Easy Print является альтернативой стандартной службе печати, появилась впервые в Windows Server 2008R2.
Благодаря данной технологии значительно повышается быстродействие, а главное — стабильность и отказоустойчивость подсистемы печати в том числе и на терминальных серверах.
Внедрение Easy Print не требует установки ролей и компонентов, настройки сервера или рабочей станции пользователя.
Необходимо лишь наличие клиента удаленного рабочего стола версии 6.1 (или старше) и .NET Framework 3.0 SP1 (или старше).
Настройка
Чтобы включить данную технологию необходимо зайти в редактор групповых политик gpedit.msc :
Конфигурация компьютера\
Административные шаблоны\
Компоненты Windows\
Службы удаленных рабочих столов\
Узел сеансов удаленных рабочих столов\
Перенаправление принтеров
перенаправлять только используемый по умолчанию принтер клиента — вкл
использовать в первую очередь драйвер принтера Easy Print — отк
сервер сначала будет пытаться печатать с помощью драйвера принтера и только если его не найдет обратится к драйверу easy print.
Далее выполняем настройку изоляции драйверов печати.
Данная функция доступна также с Windows Server 2008.
Для этого перейдем в раздел редактора групповых политик:
Конфигурация компьютера\
Административные шаблоны\
Принтеры\
выполнять драйвера принтеров в изолированном виде — вкл
переопределить параметр совместимости выполнения драйвера печати , сообщенный драйверов печати — вкл
Для корректной работы данный технологии необходимо, чтобы на сервера был установлен принтер Microsoft XPS Document Writer.
Настройка Easy Print на этом окончена.
Источник
Режим перенаправления (проброса) принтеров позволяет пользователям отправлять задания печати из терминальной RDP (RDS) сессии на свой локальный принтер, подключенном к компьютеру. По умолчанию в Windows пробрасываются все подключенные к компьютеру принтеры, и принтер назначенный по-умолчнаию на локальном устройстве, будет назначен устройством по-умолчанию в терминальной сессии.
Содержание:
- Настройка Easy Print на RDP (RDS) сервере
- Включаем проброса принтера в RDP сессию на клиенте
- Использование в RDP принтеров, которые не поддерживают режим EasyPrint
До Windows Server 2008 поддержка терминальной печати была головной болью для администраторов, т.к. на удаленном сервере нужно было устанавливать и поддерживать в актуальном состоянии все драйвера печати, используемые на компьютерах пользователей. В новых версиях Windows для печати из RDP сессии используется универсальный драйвер Remote Desktop Easy Print, который позволяет печатать практически на любом принтере.
При использовании Easy Print не нужно устанавливать драйвера для перенаправленных принтеров на RDP сервере, а перенаправленный клиентский принтер автоматически сопоставляется с драйвером RD Easy Print. Драйвер Easy Print прозрачно перенаправляет все задания в локальные очереди печати на компьютер, кроме того, он обеспечивает полноценный доступ к графическому интерфейсу управления принтером на локальной машине (доступны все кастомные опции и настройки печати).
Настройка Easy Print на RDP (RDS) сервере
Если в качестве RDP сервера используется Windows Server и на нем установлена роль Remote Desktop Session Host, то перенаправление локальных принтеров через Easy Print должно работать по умолчанию, дополнительно делать ничего не нужно.
Для всех проброшенных клиентских принтеров RDP хост будет пытаться использоваться драйвера RD Easy Print. Дополнительная настройка не требуется, локальные принтера автоматически появятся в сеансе пользователя.
Чтобы терминальный сервер всегда пытался использовать универсальный драйвер Remote Desktop Easy Print для проброшенных принтеров, нужно включить этот режим в локальной групповой политике.
- Откройте редактор групповых политик
gpedit.msc
- Перейдите в раздел Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Printer Redirection (Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Перенаправление принтеров)
- Включите политику Use Remote Desktop Easy Print driver first (Использовать в первую очередь драйвер принтера Easy Print служб удаленных рабочих столов)
Если эта политика отключена, значит драйвер принтера пользователя нужно вручную устаналивать на терминальном (RDP) сервере.
Чтобы обновить настройки GPO нужно выполнить команду
gpupdate /force
и завершить сессию пользователя (logoff).
Дополнительные параметры GPO из этой секции, которые можно использовать для настройки перенаправления принтеров в RDP сессии:
- Redirect only the default client printer (Перенаправлять только используемый по умолчанию принтер клиента) – позволяет уменьшить количество пробрасываемых принтеров с клиентского устройства. В удаленной сессии будет виден только принтер, назначенный на компьютере пользователя по-умолчанию.
- Do not set default client printer to be default printer in a session (Не устанавливать используемый по умолчанию принтер клиента в качестве принтера для сеанса)
- Specify terminal server fallback printer driver behavior (Задать поведение сервера терминалов при выборе резервного драйвера принтера) – позволяет указать нужно ли назначать для резервного принтера PCL, PS (PostScript) или любой из этих тип драйвера.
- Do not allow client printer redirection – позволяет полностью запретить использование перенаправленных принтеров в RDP сессии (должно быть отключено или не задано).
Для удобства управления драйверами и проброшенными принтерами на стороне RDP сервера можно установить консоль printmanagement.msc. В дестопных Windows 10/11 она установлена по-умолчанию, а в Windows Server ее можно добавить с помощью команды:
DISM /online /add-capability /CapabilityName:Print.Management.Console~~~~0.0.1.0
Откройте консоль
printmanagement.msc
Проверьте, что в разделе Drivers есть драйвер Remote Desktop Easy Print. Не удаляйте этот драйвер печати, без него перенаправление принтеров EasyPrint работать не будет.
Если у вас развернута RDS ферма, в настройках RDS коллекций есть несколько опций для управления перенаправлением принтеров для пользователей:
- Allow client printer redirection
- Use the client default printing device
- Use the Remote Desktop Easy Print print driver first
Включаем проброса принтера в RDP сессию на клиенте
Предполагаем, что на клиентском компьютере в профиле пользователя уже установлен и настроен принтер (это может быть локально подключенный принтер, или сетевой принтер)
Чтобы RDP клиент пробрасывал локальные принтеры в сессию на удаленном хосте, нужно включить соответствующую опцию настройках утилиты Remote Desktop Connection (
mstsc.exe
).
- Запустите утилиту, перейдите на вкладку Local Resources
- В секции Local devices and Resources включите опцию Printers (здесь же включается проброс буфера обмена).
- Если вы подключаетесь к приложению, опублиованному в виде RemoteApp, с помощью файла, для проброса принтеров в *.RDP файле должна присуствовать строка:
redirectprinters:i:1
Нюанс. Для корректной работы перенаправленных принтеров, имя (
hostname
) клиентского компьютера не должно превышать 14 символов. Если это не так, измените имя компьютера на клиенте.
Теперь подключаемся к RDP серверу и переходив в раздел Settings -> Bluetooth & Devices -> Printers & scanners. Здесь должны появится проброшенные в RDP сессию локальные принтеры.
Их можно опознать по именам, в которых указано имя принтера и метка (redirected n). Где n это ID сессии пользователя.
Также эти перенаправленные принтера будут отображаться в консоли управления принтерами
printmanagement.msc
. Здесь видно, что для них используется драйвер Remote Desktop Easy Print.
Пользователь может отправлять задания печати из приложений на RDP сервере, и они будут пересылаться драйвером Easy Print для печати на локальных принтерах.
Если на определенном клиенте не работает проброс принтеров в RDP, проверьте есть ли разделе реестра
HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client
параметр
DisablePrinterRedirection
со значением 1. Он может блокировать перенаправление принтеров. Удалите параметр или измените значение на 0.
Использование в RDP принтеров, которые не поддерживают режим EasyPrint
Есть ряд принтеров (как правило домашние или класса SOHO), которые не поддерживают функцию Easy Print, или работают в этом режиме некорректно. Также Easy Print не будет работать на Windows Server без установки роли RDSH. Для таких принтеров придется вручную установить одинаковые драйвера на клиентский компьютер и на терминальный сервер.
Чтобы установить драйвер, откройте консоль
printmanagement.msc
. Щелкните правой кнопкой по разделу Drivers и выберите Add Driver.
Воспользуйтесь мастером добавления драйвера, укажите путь к INF файлу драйвера и установите его.
Обратите внимание, что название драйвера принтера на клиенте и на сервере должны быть полностью идентичными.
Теперь, когда пользователь в следующий раз подключится к этому RDP/RDS хосту, в его сессию будет автоматически перенаправлен локальный принтер. Причем для него будет использоваться его собственный нативный драйвер (который вы установили на клиенте и на сервере) вместо драйвера TS Easy Print.
Для повышения безопасности и надежности RD сервера с нативными драйверами рекомендуется
включить режим изоляции драйверов печати
. Для этого в локальной GPO в разделе Computer Configuration -> Administrative Templates -> Printers включите параметры:
- Выполнить драйверы принтеров в изолированных процессах (Execute print drivers in isolated processes)
- Переопределить параметр совместимости выполнения драйвера печати, назначенный драйвером печати (Override print driver execution compatibility setting reported by print driver)
TS Easy Print technology was first introduced in Windows Server 2008 as an alternative to the traditional printing subsystem on Remote Desktop servers. Remote Desktop Easy Print avoids the installation of drivers for the redirected printers on a terminal (RDS) server and allows you to easily map a client redirected printer to the Easy Print driver. This significantly increases the stability and performance of the work of the Print Spooler service and RD server as a whole.
EasyPrint technology is especially convenient when several dozens of different printing devices (with different drivers) are used on users’ RDS computers, or when a printer doesn’t have a correct driver for the RDS server (a common problem with home printer models).
Easy Print functionality is based on the specifications defined in the standard XPS (XML Paper Specification) for the printer’s drivers.
The main advantages of the XPS format:
- Open document format;
- Portable and independent from the hardware platform;
- Low requirements for channel bandwidth (through the use of more lightweight XML standard).
XPS print job through an RDP session is transferred to the client PC and processed by a local print driver.
The EasyPrint driver converts the job sent to print to the XPS format and transfers it to the client’s device, where it is printed using the native printer driver. One important drawback of EasyPrint technology can be noted — additional resource costs (CPU and RAM) on the RDS server for converting documents, and documents through EasyPrint usually take a little longer to print.
Remote Desktop Easy Print — Client-side Settings
To use the Easy Print on the client-side, it must meet the following requirements:
- Operating System — Windows XP SP3 or higher;
- RDP client (mstsc.exe) version 6.0 or newer;
- .NET Framework 3.0 SP1 or .NET 3.5;
- In the RDP connection properties, the option Printers redirections should be enabled on the Local Resources tab.
If instead of the client mstsc.exe, you run preconfigured RDP shortcut file (.rdp), make sure that it contains the following string:
redirectprinters:i:1
If you use an Active Directory user account to log in to the RDS server, check if the “Connect client printers at logon” and “Default to main client printer” options are enabled in the user properties in AD on the Environment tab (user properties can be changed from the Active Directory snap-in).
If users connect to RD servers through RD Gateway, make sure that the option to deny client printer redirection is disabled in the RD Gateway settings.
How to Enable Easy Print on the Remote Desktop Server Side?
Easy Printer Driver is installed on the server when you deploy the Remote Desktop Services role, and in the printers’ list appears a new printer named Microsoft XPS Document Writer. This print driver supports a variety of printer models.
You can enable the Easy Print on the side of the RDS server running Windows Server 2016/2012 R2 only via Group Policy.
- Open the local (gpedit.msc) or domain (GPMC.msc) Group Policy Editor console;
- Navigate to the following GPO section Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Printer Redirection (similar settings are available in the User`s GPO section);
- Edit and enable the policy Use Remote Desktop Easy Print driver first;
- To the update GPO settings on your RDS server, open the elevated command prompt and run the gpupdate command:
gpupdate /force
Tip. If the client doesn’t support Easy Print mode, the RDS server looks for a native printer driver on the server. If there is no such driver, the RDS user won’t be able to send print jobs from applications to the local printer. In this case, you can install the necessary print driver manually on the RDS server. The name of the printer in the driver must exactly match the name of the printer in the driver on the client’s computer, otherwise, the redirected printer won’t use the driver on the server.
Check if Remote Desktop Easy Print Driver is Used
Now, it’s time to test the Easy Print policy:
- Close your current remote desktop connection (use logoff instead of disconnect) and log in again as an RDP user;
- Go to the Control Panel and select the item Devices and printers;
- Find your redirected printer (its name should match the default printer name on your computer, in this example, this is HP LaserJet P3011/P3015 ) and open its properties;
- Go to the Advanced tab and make sure that Remote Desktop Easy Print driver is used;
- Send the test print job and make sure that it is properly printed on a local printer.
If when printing fonts are distorted to a local printer through Remote Desktop Easy Print, try installing the latest version of the NET Framework on the client’s computer.
If documents don’t get into the print queue on the client, check if the spooler service is running on the client and server. And also check the correctness of the service permissions:
sc sdshow spooler
It should be like that:
D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)
If your permissions are different, change them with the command:
sc sdset spooler D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY) [SC] SetServiceObjectSecurity SUCCESS
After setting permissions, you must restart the computer.
Deleting Native Print Drivers from RDS
After the Remote Desktop Easy Print policy is activated, you can delete the native printer drivers from the server.
Important! You should not remove the printer and driver Remote Desktop Easy Print and Microsoft XPS Document Writer. Without them, the print redirection won’t work.
Unnecessary print drivers can be removed through the control panel: Control Panel > Hardware > Device and Printers > select any printer and click “Print server properties” in the top menu.
Go to the Drivers tab and remove all unnecessary drivers except Remote Desctop Easy Print (select the drivers in turn and click Remove).
By default, the number of redirected printers in the RDS session is limited to 20. This behavior can be changed by adding the needed value to the registry parameter MaxPrintersPerSession in the key
HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services. You should set MaxPrintersPerSession value to the desired maximum number of redirected printers.
For better RDS performance, you can redirect only one default printer from the client’s PC. In this case, enable the policy named Redirect only the default client printer.
Thus, by using the Easy Print you can greatly simplify the configuration of Remote Desktop servers. Another thing is that the Administrator will no longer need to install the same printer drivers on the server and the local computer.
- About
- Latest Posts
I enjoy technology and developing websites. Since 2012 I’m running a few of my own websites, and share useful content on gadgets, PC administration and website promotion.
И вот он настал, этот день, когда в очередной раз, ожидая распечатки от томно подмигивающего принтера, я, наконец, решил, что мое терпение не безгранично. Посвящается тем, кого тоже достала медленная печать на перенаправленных принтерах. Все знают про достоинства технологии EasyPrint, теперь поговорим о ее недостатках и методах борьбы с ними.
Задачей технологии EasyPrint является преобразование контента, выводимого на печать, в xps формат и передача его на клиентский компьютер, откуда он и будет напечатан с помощью родного драйвера. Проблема в том, что преобразование и передача, прибавившего в весе от такого преобразования, потока занимает слишком много времени. За универсальность приходится платить.
Решение состоит в использовании на сервере родных драйверов для каждого принтера, это позволяет осуществлять печатать напрямую, получая от клиента только физический адрес принтера. Сразу отмечу, что такое решение связано с риском превратить сервер в помойку драйверов, поэтому эти моменты нужно отслеживать. Ну и, понятно, что должен существовать драйвер нужного принтера для x64 систем (думаю, что x86 на серверах уже неактуально).
Перейдем от теории к практике.
Добавляем администратора в группу «Операторы печати», чтобы видеть перенаправленные принтеры всех пользователей.
Отключаем преимущественное использование EasyPrint. Запускаем оснастку локальной политики (gpedit.msc), для доменов нужно использовать доменную политику. Переходим в Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Перенаправление принтеров и устанавливаем политику «Использовать в первую очередь драйвер принтера Easy Print удаленного рабочего стола» в «отключено».
Запускаем оснастку «Управление печатью» (printmanagement.msc) и добавляем драйверы нужных принтеров на сервер печати.
Очень важно:
название принтера в драйвере должно в точности совпадать с названием принтера в драйвере на клиентской машине, иначе перенаправленный принтер не подхватит драйвер на сервере. Проверить, используется ли драйвер EasyPrint для конкретного перенаправленного принтера, мы можем в свойствах этого принтера в оснастке «Устройства и принтеры» (после установки драйвера на сервер, для его использования пользователь должен перелогиниться на сервере). Если название принтеров в драйверах не совпадают, то запускаем редактор реестра, переходим на [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPrintEnvironmentsWindows x64DriversVersion-3]
и меняем название нужного драйвера (после этого нужна перезагрузка). Благодаря такому твику, мы можем использовать на сервере нужный нам драйвер, отличный от клиентского. Для нужных мне принтеров HP я подобрал драйверы с одинаковым названием для клиентов (Windows XP) и для сервера (Windows Server 2008R2), использовав драйвера для разных редакций Windows Vista с сайта HP. Ленивые могут просто использовать драйвер от Microsoft, исправив его название в реестре.
Если у вас клиенты x64 с драйверами из поставки Windows или из Windows update, то есть большая вероятность, что они автоматически подтянутся на сервер при подключении клиента. Поэтому следите за установленными драйверами с помощью оснастки «Управление печатью». Еще один твик – если у вас подтянулся ненужный драйвер, то вы можете удалить его из оснастки, не удаляя package, а ссылку на package удалить в этой ветке реестра [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPrintPackageInstallationWindows x64DriverPackages]
. Тогда при следующем подключении этот драйвер не будет снова устанавливаться, и печать на этом принтере будет происходить средствами EasyPrint.
Слишком подробно не описывал, думаю, что читатели «в теме», если есть вопросы — задавайте.
В качестве альтернативы использования традиционной системы печати в Windows 2008 появилась технология TS Easy Print, позволяющая избежать установки драйверов для перенаправленных принтеров на терминальном сервере. Благодаря этому значительно повышается стабильность работы как службы диспетчера очереди печати, так и всего терминального сервера в целом.
Внедрение TS Easy Print не требуется дополнительной установки серверной и клиентской части. Достаточно лишь наличие на рабочей станции клиента удаленного рабочего стола версии 6.1 (или старше) и .NET Framework 3.0 SP1 (или старше).
Статья разделена на два основных раздела.
Первая часть посвящена способам настройки и управления технологией TS Easy Print при помощи групповых политик и консоли управления печатью.
Во втором разделе собран практический опыт автора по использованию TS Easy Print, а также приведен ряд примеров из форумов Microsoft Technet.
Настройка
Для управления настройками печати на терминальном сервере в Windows Server 2008 существует несколько групповых политик. Найти их можно в следующем контейнере:
Computer ConfigurationAdministrative TemplatesWindows ComponentsTerminal ServicesTerminal ServerPrinter Redirection.
В русскоязычном интерфейсе это
Конфигурация компьютераАдминистративные шаблоныКомпоненты WindowsСлужбы терминаловСервер терминаловПеренаправление принтеров (рис. 1).
Рис. 1. Групповые политики для управления перенаправленным принтерами
Рассмотрим каждую из них более подробно.
Таблица 1: Политики управления печатью на терминальных серверах
Групповая политика (в скобках представлен
русский вариант названия) |
Описание функциональности |
Do not set default client printer to be default printer in a session
(Не устанавливать используемый по умолчанию принтер клиента в качестве принтера для сеанса) |
Определяет будет ли принтер по умолчанию на клиенте автоматически установлен как принтер по умолчанию в терминальной сессии. Если этот параметр не задан, пользователь может самостоятельно задать принтер по умолчанию в терминальной сессии. |
Do not allow client printer redirection
(Не разрешать перенаправление клиентских принтеров) |
Позволяет запретить подключение клиентских принтеров к терминальной сессии. Включение этой политики отключает перенаправление принтеров. |
Specify terminal server fallback printer driver behavior
(Задать поведение сервера терминалов при выборе резервного драйвера принтера) |
Не смотря на существование этой политики использовать её можно только на Windows Server 2003. |
Use Terminal Services Easy Print driver first
(использовать в первую очередь драйвер принтера Easy Print служб терминалов) |
Если эта политика включена или не настроена, сервер терминалов сначала попытается использовать драйвер принтера TS Easy Print для установки всех клиентских принтеров. Если по какой-либо причине драйвер TS Easy Print не доступен, используется драйвер принтера на терминальном сервере, соответствующий принтеру на клиентском компьютере. Если драйвер не найден на терминальном сервере, этот принтер не может быть перенаправлен. |
Redirect only the default client printer (Перенаправлять
только используемы по умолчанию принтер клиента) |
Включает перенаправление только принтера по умолчанию. Остальные принтеры не перенаправляются. |
Политики
Use Terminal Services Easy Print Driver First
и
Redirect Only The Default Client Printer
также можно найти в пользовательском разделе групповых политик в контейнере
User ConfigurationPoliciesAdministrative TemplatesWindows ComponentsTerminal ServicesTerminal ServerPrinter Redirection.
Отдельно следует упомянуть о способах управления принтерами системными администраторами. По сравнению с Windows Server 2003, изменился механизм отображения доступных принтеров. Во время работы процесса Winlogon, диспетчер очереди печати перечисляет только принтеры, которые доступны пользователю в рамках его текущей сессии (вместо перечисления всех перенаправленных принтеров).
Однако, даже не смотря на то, что системный администратор не может видеть принтеры других пользователей, есть обходной маневр для получения информации о перенаправленных принтерах и выполнения с ними ряда административных задач. Члены группы «Print Operators» («Операторы печати») могут увидеть все перенаправленные принтеры в консоли управления печатью «Print Management Console» и панели управления принтерами. Для этого необходимо выполнить следующие действия.
1. Добавить себя в группу «Print Operators».
2. Установить роль «Print Services» на сервер.
3. Запустить консоль «Print Management».
По умолчанию администраторы и операторы печати не имеют прав на управление перенаправленными принтерами и могут только видеть их в консоли. Для управления перенаправленными принтерами необходимо предварительно захватить права владельца на него. Это делается следующим образом.
1. Открыть консоль управления печатью и щелкнуть правой клавишей мыши по выбранному принтеру.
2. Выбрать «Properties».
3. Перейти на закладку «Security».
4. Нажать «Advanced».
5. Перейти на закладку «Owner» (рис. 2).
Рис. 2. Захват прав владельца
6. Выбрать «Print Operators» и дважды нажать «Ок».
7. Закрыть все окна управления принтером.
8. Заново открыть окно свойств принтера.
9. Перейти на закладку «Security»
10. Добавить группе «Print Operators» право «Manage Printer».
Рис. 3. Добавление прав управления
Члены группы Print Operators должны использовать право Manage Printers только для выполнения следующих задач:
· удаление перенаправленного принтера;
· открытие очереди печати перенаправленных принтеров;
· управление заданиями на печать для перенаправленных принтеров.
Остальные действия, такие как переименование, установка для принтера свойств по умолчанию и предпочтений печати не поддерживаются.
В моей практике это понадобилось для решения проблемы с уходом в отключенное состояние после рестарта службы диспетчера очереди печати.
Особенности практического использования
В этой части я хотел бы рассказать о проблемах которые могут возникнуть в процессе использования технологии TS Easy Print и способах их решения. Информация представлена в виде описания проблемы и возможного способа её решения. По возможности, проблема проиллюстрирована примерами из форумов Microsoft Technet.
Проблема 1. Нестабильность службы диспетчера очереди печати
Основной предпосылкой внедрения TS Easy Print являются сбои в службе диспетчера очереди печати при использовании драйверов для принтеров на терминальном сервере. Эта проблема также актуальна и в «смешанной» среде. Если на терминальном сервере параллельно используются как TS Easy Print, так и традиционная система печати, проблемы могут только усугубиться. Это связано с тем, что при перезапуске службы диспетчера очереди печати, перенаправленные принтеры переходят в состояние offline и становятся недоступными для печати. Для наиболее быстрого решения этой проблемы требуется переподключение терминального сеанса. Всё это вызывает массу негативных отзывов (пример на форумах Microsoft Technet) со стороны конечных пользователей.
В качестве глобального решения этой проблемы можно рассмотреть полное удаление драйверов принтеров и сопутствующих им элементов с терминального сервера. Однако и эта операция может вызвать массу проблем (пример на форумах Microsoft Technet), так как вместе с драйверами принтеров могут удалиться драйвера Terminal Services Easy Print и Microsoft XPS Document Writer. Без них перенаправление принтеров по технологии TS Easy Print работать не будет.
В связи с этим, необходимо крайне осторожно относиться к удалению драйверов на терминальном сервере при помощи специальных утилит:
· KB2000007;
· KB324757.
Перед их использованием настоятельно сделать резервное копирование системы.
Альтернативным способом является ручное удаление драйверов. Это делается следующим образом.
1. Перейти в «Панель Управления».
2. Выбрать «Принтеры»
3. Щелкнуть «Свойства Сервера» (рис. 4)
Рис. 4. Свойства сервера печати
4. Перейти на закладку «Драйверы» (рис .5)
Рис. 5. Драйверы принтеров
5. Поочередно удалить все драйверы кроме Terminal Services Easy Print и Microsoft XPS Document Writer.
Кроме того, можно дополнительно удалить данные из реестра и файловой системы. Более подробную информацию об этом можно получить в статье Print Spooler Crash Troubleshooting Steps.
Если терминальные сервера находятся терминальной ферме, и для соединения с ними используется ключ /admin, то при проверке нужно учитывать, что при таком типе подключения TS Easy Print не работает по умолчанию (KB947723).
Проблема 2. Печать «иероглифов» на перенаправленных принтерах»
При печати по технологии TS Easy Print могут отображаться «иероглифы». Обычно это вызывается старой версией .Net Framework. Установка более новой версии данного программного продукта может решить данную проблему. Данная проблема актуальна для старых версий клиентских операционных систем. Для Windows 7 дополнительная установка .Net Framework необязательна.
Проблема 3. Перенаправление принтеров не работает
Для решения данной проблемы следует проверить настройки перенаправления для клиента удаленного рабочего стола, на терминальном сервере, результирующие групповые политики и параметр реестра:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdfEnablePrintRDR.
Проблема 4. Пользователи не могут печатать на перенаправленных принтерах при совмещении ролей терминального сервера и контроллера домена
При совмещении ролей терминального сервера и контроллера домена у пользователей могут возникнуть проблемы с печатью (пример на форумах Microsoft Technet).
Для решения нужно дать права modify для группы everyone на папку: C:WindowsSystem32spool или воспользоваться статьей KB968605.
Проблема 5. Снижение скорости печати
Скорость печати может существенно снизиться после применения обновления KB954744, решающего проблему с некорректной ориентацией страниц при печати на перенаправленых принтерах. Для решения этого надо установить дополнительное обновление KB954773.
Проблема 6. Не все принтеры перенаправляются в терминальную сессию
По умолчанию число перенаправляемых принтеров ограничено 20. Это поведение можно исправить добавив в раздел реестра
HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services
ключ MaxPrintersPerSession и задав в нем максимальное число перенаправляемых принтеров.
Проблема 7. Поддержка тонких клиентов
Одним из основных минусов технологии TS Easy Print являются требования к версии клиента удаленного рабочего стола и установке .Net Framework. Достаточно много тонких клиентов (особенно произведенных несколько лет назад) не имеют достаточно дискового пространства для использования операционной системы, содержащей данные программные продукты. Для остальных можно воспользоваться новой версией Windows Embedded 2009.
Заключение
В статье рассмотрена практическая сторона использования технологии TS Easy Print. Особое внимание уделено проблемам, которые могут возникнуть при переходе на новую систему печати. Не смотря на достаточно большое число перечисленных проблем, следует отметить, что технология TS Easy Print уже зарекомендовала себя с самой лучшей стороны и может быть использована в производственных целях. В качестве альтернативы TS Easy Print могут использоваться сторонние программные продукты (например, ThinPrint). Однако следует учитывать, что большинство таких продуктов платные и требуют установки дополнительного программного обеспечения.
Источник: http://itband.ru
One challenge with Remote Desktop printing is the issue of drivers. If users want to output documents on locally attached printers, for example, in work-from-home environments, organizations might have to deal with various printer models. Remote Desktop Easy Print offers a solution with a single driver.
Contents
- How does Remote Desktop Easy Print work?
- Configuring Easy Print on the Remote Desktop Server
- Configure RDP client settings
- Testing Easy Print with an RDP connection
- Wrapping up
- Author
- Recent Posts
Brandon Lee has been in the IT industry 15+ years and focuses on networking and virtualization. He contributes to the community through various blog posts and technical documentation primarily at Virtualizationhowto.com.
In a traditional printing subsystem architecture, IT admins have to ensure that all the appropriate drivers are installed on the Remote Desktop Server so that it can render documents for printing. The Remote Desktop Easy Print architecture simplifies the challenge of installing drivers for all possible end-user printers.
How does Remote Desktop Easy Print work?
Easy Print is a proxy that redirects all printing-related work to the user’s local machine. Hence, you don’t need to install any print drivers on the session host.
Instead of creating a server-side UI that will show preferences such as number of copies, landscape v. portrait, etc., the Easy Print driver redirects all calls for UI to the actual driver on the client side. The TS client launches this UI from the local machine on top of the remote session. As a result, the user sees all printer options available to them.
When redirecting print jobs, the server creates an XPS file and sends it to the client, which will print the job on the appropriate printer. XPS has the advantage of being able to encapsulate the user’s selected printing preferences plus the document data.
Configuring Easy Print on the Remote Desktop Server
Once you have installed the Remote Desktop Services role in Windows Server, you will see a new printer called Microsoft XPS Document Writer. This is the generic Easy Print printer.
Viewing the Microsoft XPS Document Writer Easy Print Device
Next, we can configure Easy Print using Group Policy to ensure that the Easy Print driver is used for users connected to the session host. Open the GPO in the editor and navigate to the following setting:
Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Printer Redirection. Open the Use Remote Desktop Easy Print printer driver first setting, and set it to Enabled.
Enabling the Remote Desktop Easy Print Driver First setting in Group Policy
Make sure the GPO settings are refreshed and enforced immediately by running the command at an elevated command prompt:
gpupdate /force
Configure RDP client settings
Easy Print should be available in all supported versions of Windows. There are also a few settings to be aware of.
First, make sure Printers is selected on the Local Resources tab.
MSTSC client settings with printer redirection
In Active Directory Users and Computers, you will see the following settings in the user properties:
- Connect client drives at logon
- Connect client printers at logon
- Default to main client printer
By default, these options are selected, so most will find that they can leave these settings.
Active Directory User Properties affecting client printers
You can also configure client settings related to printers in the Remote Desktop Services Session Collection. By default, the following are selected:
- Allow client printer redirection
- Use the client default printing device
- Use the Remote Desktop Easy Print print driver first
With these settings, you can configure, enable, or disable client printer redirection on the collection set directly.
Session Collection client settings for Remote Desktop Easy Print
Testing Easy Print with an RDP connection
Once you log in to the session host, navigate to your printer configuration using control printers at a run menu. Next, right-click your redirected printer, and select Printer Properties. Next, click the Advanced tab and look at the driver listed. You should see the Remote Desktop Easy Print driver selected. It is normal to see the selection grayed out, since it is a redirected printer.
Verifying that the Easy Print driver is used in a Remote Desktop connection
Be sure to test the printing functionality even if the printer is listed and displaying the Easy Print Driver.
Wrapping up
Remote Desktop Easy Print is a technology that IT admins can leverage to ease the management of printer drivers. It enables users to redirect locally attached printers to an RDS session and have the printing functionality work as expected.
Subscribe to 4sysops newsletter!
In addition, the Easy Print driver helps to ensure that even consumer-grade and non-mainstream printers have a good chance of working, even without proper enterprise-grade drivers. As with any generic solution, Easy Print might not provide the same performance or functionality you get from a native printer setup.
В данной заметке поговорим о внедрении и последующем обслуживании сервера печати (по др. принт-сервера) полезной серверной роли в Windows Server 20xx, обеспечивающей эффективный, централизованный контроль за работой всех принтеров в организации.
Внедрение сервера печати, по сравнению с обычной клиентской установкой принтера, сулит следующие преимущества:
- Возможность централизованного управления всеми принтерами в организации, очередью печати, драйверами.
- Обеспечение общего доступа к принтерам через публикацию в Active Directory;
- Возможность разворачивать принтеры при помощи групповой политики;
- Создавать пулы, что позволяет объединить несколько физических принтеров в один логический.
Исходные условия у нас таковы, что имеется определенный парк сетевых принтеров HP и Kyocera и нам необходимо настроить к ним доступ таким образом, что бы пользователь мог самостоятельно выбирать ближайший к себе принтер и устанавливать себе в систему. Для этого нам как администраторам, необходимо сначала развернуть сервер печати, добавить на него все наши принтеры, опубликовать в Active Directory, обучить пользователей простым шагам по установкедобавлению принтера или устанавливать их в автоматическом режиме при помощи групповой политики. В процессе работы, выполнять простые шаги по администрированию системы и устранять возникающие неполадки с печатью, о чем речь пойдет ниже.
1) Установка роли Print and Document Services (Служба печати и документов);
Итак, у нас имеется машина с установленным Windows Server 2012R2, хотя это может быть и 2008 и последняя на текущий момент Windows Server 2016, т.к. процесс установки службы от версии к версии отличается не сильно и сводится буквально к нескольким кликам по кнопке Далее. Запускаем Server Manager, выбираем Add Role and Features Wizard (Добавить роль и мастер компонентов).
Затем соглашаемся с первым пунктом Role-based or feature-based installation (Базовая установка ролей и компонентов) жмем Далее.
На следующем экране Select Destination server (Выбор сервера назначения) выбираем сервер из пула или расположенный на VHD-диске. Поскольку у нас, пока только один локальный сервер, то жмем Next.
Выбираем роль для установки — Print and Document Services, соглашаемся с установкой дополнительных фичей — Print and Document Services Tools. Жмем Next.
На следующем экране Features, опционально выбираем компоненты для установки если нужно. Жмем Next.
Далее нам предлагают ознакомится с полезной информацией по службе печати Print and Document Services. Ознакамливаемся и жмем Next
Затем выбираем конкретные сервисы для установки. По мимо Print Server (Сервер печати) можно выбрать еще Distributed Scan Server (Распределенный сервер сканирования), Intetnet Printing (Поддержка печати через Интернет) и LPD Service (Служба печати UNIX). В рамках данной заметки нас интересует только cервер печати, поэтому выбираем его и жмем Next.
На завершающем экране, соглашаемся с установкой выбираемых компонентов нажатием кнопки Install.
Закрываем мастер при помощи close.
Те же действия, но в Powershell, можно выполнить буквально в несколько команд:
Fipmo ServerManager add-WindowsFeature Print-Server
После установки службы, перезагружать сервер не требуется. Но, перед тем как начать добавление принтеров на сервер, добавим его в домен, что позволит в последствии публиковать принтеры сразу в Active Directory.
Используем классический gui-вариант добавления, либо при помощи несложной команды в PS:
Add-Computer -DomainName test.ru
Перезапускаем сервер командой:
2) Консоль управления Print Managment. Добавление драйверов и принтеров на сервер;
Запускаем консоль управления Print Managment. Для этого переходим в ПускAdministrative toolsPrint management. Либо запускаем в командной строке: printmanagement.msc
Здесь, самый верхний узел Print Managment позволяет добавлять/удалять локальные и другие серверы печати для администрирования, а так же выполнять миграцию принтеров.
Custom Filters фильтрует принтеры по категориям: Все принтеры (All Printers), Все драйверы (All Drivers), Принтеры в состоянии «не готов» (Printers Not Ready) и принтеры с активными заданиями печати (Printers With Jobs). Так же, по правой кнопке, можно задать свой фильтр, если вам не хватает текущих.
Print Servers отображает текущие принт-серверы. В данном случае видно что у нас только один (локальный) сервер печати, где Drivers (Драйверы) показывает все драйверы на текущем сервере печати, Forms (Формы) — все поддерживаемые форматы бумаги, Ports — локальные и сетевые порты на текущем сервере печати, Printers — все установленные принтеры на текущем сервере печати.
Deployed Printers — принтеры, которые были развернуты с использованием групповой политики.
Что бы добавить новый принтер на сервер, переходим к узлу Print Servers, выбираем наш локальный сервер prints (local) в разделе Printers. Щелкаемся правой кнопкой и выбираем Add Printers (Добавить принтер). Запустится мастер добавления принтера Network Printer Installation Wizard, где доступно четыре метода установки. Первый и самый быстрый способ обнаружить сетевые принтеры это выполнить поиск в автоматическом режиме — Search the network for printers, вторым пунктом идет возможность добавить TCP/IP принтер или веб принтер по его IP-адресу или имени узла — Add a TCP/IP or Web Services Printer by IP address or hostname, далее идет возможность добавить новый принтер используя существующий порт — Add a new printer using an existing port, и последний пункт, это создание своего порта с последующим добавлением нового принтера — Create a new port and add a new printer.
Если выбрать первый пункт и позволить мастеру добавить принтер в автоматическом режиме то возникнет ситуация когда драйвер для принтера может быть так же добавлен в автоматическом режиме из дистрибутива операционной системы, что не желательно, поскольку, во-первых драйвер будет далеко не свежим, во-вторых он будет конкретно под данную модель принтера. Если принтеров не много, то в этом нет трагедии — все будет работать, но поскольку у нас принт-сервер, где как правило может быть n-ое количество устройств печати, то имеет смысл использовать самую актуальную версию драйвера с сайта производителя. Лучше использовать универсальный драйвер сразу для нескольких моделей, что позволит избежать в будущем разного рода конфликтов связанных с работой нескольких разношерстных устройств на одном сервере и позволит снизить временные затраты при будущем обновлении. Почитать еще о преимуществах универсального драйвера можно по следующей ссылке.
И всего вышесказанного следует, что для корректной работы системы нам сначала необходимо установить на сервер правильный драйвер, а затем уже добавлять сами принтеры. Поэтому скачиваем универсальный драйвер с сайта производителя, например для HP здесь, а для Kyocera тут. Что касаемо типа драйвера, PCL5 или PCL6 то тут решайте сами. Кто то говорит что PCL5 стабильнее, но лично я не заметил особой разницы. По идее PCL версии 6 это просто более новая реализация PCL драйвера от HP, поэтому имеет смысл использовать ее.
Для добавления драйверов, в консоле Print Managment переходим на наш локальный сервер в раздел Drivers и по правой кнопке запускаем мастер добавления драйверов — Add Driver. На следующем экране выбираем тип архитектуры процессора. Если необходима поддержка 32-разрядных клиентских операционных систем то так же отмечаем чекбокс x86. Жмем Далее.
На экране Printer Driver Selection выбираем драйвер для принтера. Жмем Have Disk и Browse для обзора и добавления драйверов.
Выбираем ранее скаченный драйвер. В нашем примере это универсальный драйвер Kyocera, жмем Next и Finish. Повторяем операцию для других ваших устройств.
Лично у меня на сервере, в ходу принтеры только HP и Kyocera, соответственно и драйверы используются только этих производителей. Правда, надо отметить, что при использовании универсального драйвера от HP, далеко не все принтеры поддерживаются или не все функции поддерживаются корректно, хотя большая часть принтеров корпоративного класса работает без проблем. Посмотреть список поддерживаемых устройств можно по ссылке. После добавления драйверов, получим примерно следующую картинку.
Обратим внимание на вкладку Driver Isolation (Изоляция драйвера), где у нас, драйверы по умолчанию помечены флагом «shared» т.е. находятся в неком изолированном режиме с общим доступом. Технология изоляции драйвера или Printer Driver Isolation (PDI), позволяет выводить работу принтеров в отдельный процесс PrintIsolationHost.exe, отдельно от диспетчера печати spoolsv.exe, и других драйверов на сервере, т.е. если возникает проблема в драйвере, то она затрагивает только процесс, который подгрузил этот драйвер, но не саму службу печати spoolsv.exe, которая при этом, остается работоспособной.
И в случае режима shared (общий доступ) все драйверы принтера настроены на работу с одним, общим экземпляром процесса PrintIsolationHost.exe, но отдельно от диспетчера печати. Данный режим является рекомендуемым Microsoft. В случае, возникновения проблем с драйверами, несовместимостью и частым падением принтеров, особенно в терминальном режиме, можно попробовать использовать режим isolated (изолированный), где уже каждый драйвер принтера, настроен на использование своего собственного экземпляра процесса PrintIsolationHost.exe и так же отдельно от диспетчера печати (spooler).
При установленном флаге «none», драйверы принтеров загружаются как обычно, при помощи диспетчера печати (spooler), т.е. если падает процесс spoolsv.exe, то это затрагивает работу сразу всех принтеров на сервере.
Теперь, после добавления корректных драйверов можно приступать к установке принтеров. Для этого снова запускаем уже знакомый нам мастер добавления принтеров, выбираем добавить TCP/IP принтер или веб принтер по его IP-адресу. Затем выбираем тип устройства: Auto detect — автоматическое определение параметров или TCP/IP Device, в поле «host name or IP address» вводим IP-адрес сетевого принтера. Галочку Auto detect the printer driver to use (Автоматический поиск драйвера принтера) оставляем по умолчанию активной или снимаем. В данном случае она не препятствует процессу добавления «правильного» драйвера. Жмем Next.
На следующем экране, выбираем ранее установленный универсальный драйвер HP или Kyocera из списка или добавляем новый. Жмем Next.
Затем, задаем имя принтеру и добавляем его в общий доступ, указав имя расшаренного ресурса, физическое расположение и комментарий. По этой информации пользователи смогут идентифицировать нужный им принтер в службе каталогов и добавить его к себе в систему. Жмем Next.
Соглашаемся с предложением установить принтер. Жмем Next и дожидаемся окончания процесса установки.
Затем, что бы принтер был доступен в Active Directory для выбора, необходимо его опубликовать. Для этого переходим в свойства принтера на вкладку Sharing и отмечаем галочку List in Directory (Внести в Active Directory) и жмем Apply (Применить).
Проделываем ту же операцию для всех принтеров в организации. Можно выделить все принтеры сразу и по правой кнопке сказать: List in Directory. В итоге, можно получить примерно следующий список.
Теперь, на клиентском компьютере в домене, пользователь сможет увидеть нужный ему принтер в списке и установить его.
Но это в теории, или по крайней мере так было раньше! На практике, при добавлении сетевого принтера под доменной учетной записью, нередко можно получить следующую ошибку:
Подключение к принтеру. Установленная на данном компьютере политика не позволяет подключение к данной очереди печати. Обратитесь к системному администратору.
Или английский вариант:
Connect to Printer. A policy is in effect on your computer which prevents you from connecting to this print queue. Please contact your system administrator.
Связано это с тем, что 12 июля 2016 года Microsoft выпустила обновление безопасности KB3170455, устраняющее критическую уязвимость в системе печати, что повлекло за собой новые требования к безопасности драйверов принтера, а именно:
1. Драйвер принтера должен быть доверенным и подписан цифровой подписью. Процесс установки проверяет наличия хешированных файлов в пакете драйвера, и если обнаруживает не хешированные (без цифровой подписи), то выводит сообщение об ограничениях существующей политики. В случае универсального драйвера от HP проверка на цифровую подпись файлов в пакете проходит успешно и принтер ставится без проблем, а вот при попытке установить на клиенте принтер от Kyocera, где в качестве драйвера используется Kyocera Universal Classic Driver, который, кстати говоря на сайте числится как ‘signed’ вылезает ошибка выше.
2. Драйвер принтера должен быть упакованным, спецификация (package-aware v3). При попытке установить не упакованный драйвер (non-package-aware v3) получим сообщение о недоверии к принтеру и запрос на повышении прав позволяющий установить драйвер с административной учетной записью.
Проверить упакован драйвер принтера или нет, можно в консоли управления принтерами (Printer Managment) в разделе Drivers, колонка Packages. Как видим, драйвер Konica Minolta находится в состоянии false.
Решить проблему с установкой не доверенных драйверов принтеров на клиентских компьютерах, нам поможет включение групповой политики: Point and Print Restriction (Ограничения указания и печати), которая находится по адресу:
Computer ConfigurationPoliciesAdministrative TemplatesPrinters (Конфигурация компьютераПолитикиАдминистративные шаблоныПринтеры).
Отмечаем галочки напротив Users can only point and print to these server (Функцию указания и печати можно использовать только на этих серверах) и через точку с запятой, указываем полные доменные имена серверов печати (FQDN). В нашем примере это: prints.test.ru В поле Security Promts (Запросы безопасности), параметрам «Then installing drivers for a new connection» и «Then updating drivers for a exsiting connection» (При установке/обновлении драйверов для нового подключения) выставляем: Don’t show warning or elevation promt (Не показывать предупреждение или запрос на повышении прав).
Не лишним будет так же включение политики: Package Point and Print — Approved servers (Функция указания и печати для пакетов — Разрешенные серверы) которая находится там же по адресу: Computer ConfigurationPoliciesAdministrative TemplatesPrinters. Данная политика полностью независима от Point and Print Restriction и распространяется только на пакетные драйверы, что в итоге помогло снять ошибку возникающую во время установки универсального драйвера от Kyocera.
В поле Enter fully qualified server names (Введите полные доменные имена серверов) задаем имя сервера печати. Жмем применить. На принт-сервере и на клиентских ПК запускаем принудительное обновление политик при помощи gpupdate /force. После чего установка принтеров должна происходить без вопросов.
3) Консоль управления Print Managment. Добавление принтеров в пул (Print Pooling);
Print Pooling — это технология позволяющая объединять несколько принтеров в один логический, что может оказаться полезным в организациях с большим объемом печати и большим количеством печатающих устройств. Например, в ситуации когда есть 5-ть одинаковых принтеров и не понятно, какой из них загружен печатью, а какой свободен, один логический принтер установленный в системе позволяет автоматически определять свободный принтер в пуле, что в итоге экономит время между решением отправить задание на печать и фактически самой печатью.
Для того что бы объединить несколько принтеров в пул, переходим в раздел Printers нашего принт-сервера и добавляем как обычно новый принтер в систему либо выбираем существующий. Затем переходим на вкладку Ports (порты) и добавляем новый TCP/IP-порт соответствующий IP-адресу другого принтера в будущем пуле.
Выбираем Standart TCP/IP Port и жмем New Port… Затем прописываем IP-адрес принтера, жмем Next и Finish. Добавляем столько портов сколько нам нужно в пуле.
Теперь переходим в свойства будущего логического принтера, на вкладку Ports (Порты) и отмечаем чекбокс Enable print pooling (Разрешить группировку принтеров в пул), затем дополнительно выбираем ранее созданный порт 192.168.0.210 и жмем Apply (Применить);
Таким образом мы добавили два физических принтера в пул, и получили на выходе один логический.
4) Консоль управления Print Managment. Установка принтеров при помощи групповой политики;
Что если в нашей организации 50-100 и более компьютеров, а пользователи, как это не редко бывает сами не хотят / не умеют или не знают какой из принтеров в каталоге им необходимо установить? В данном сценарии нам поможет инструмент установки принтера при помощи групповой политики. Например, если известно, что у определенного пользователя или группы должен быть установлен определенный принтер, то можно заранее в автоматическом режиме развернуть нужные принтеры, незаметно для пользователя и без прямого вмешательства системного администратора. Для этого необходимо авторизоваться на сервере-печати под доменной учетной записью с правами Print Operators или выше, затем перейти в консоль Print Managment, отметить нужный принтер и по правой кнопке выбрать пункт Deploy with Group Policy (Развернуть с помощью групповой политики). В качестве примера, проделаем данную операцию для принтера «Операторы». В поле GPO name выберем объект групповой политики на который будет распространяться политика автоматической установки принтера. Я выберу заранее созданный объект Operator, который в свою очередь привязан к подразделению Operators, внутри которого находятся объекты пользователей для которых и производится установка принтера.
Отмечаем галочкой на кого будет распространяться политика подключения принтера, на пользователей или компьютеры. Жмем добавить, применить, ОК.
Перезапускаем клиентский компьютер и видим что принтер «Операторы» успешно добавлен в сиcтему.
5) Перенос конфигурации с одного сервера печати на другой;
В случае, замены сервера печати или аварийной ситуации может потребоваться быстро восстановить существующую конфигурацию на другой сервер. И дабы сократить время восстановления, желательно уже иметь в запасе резервную машину с установленной службой печати и заранее экспортированным файлом резервной копии в специальном формате .printerExport. Данный файл содержит полную копию всех установленных принтеров, портов и драйверов позволяющих развернуть аналогичную конфигурацию на другом сервере. Для того что бы получить такой файл, необходимо перейти в корень локального сервера утилиты Print Managment, в нашем случае ‘prints (local)’, щелкнуться правой кнопкой и выбрать Export printers to a file… (Экспортировать принтеры в файл). Следовать указаниям мастера и получить на выходе файл резервной копии.
В рамках данной статьи, текущий (исходный) сервер у нас имеет сетевое имя: prints, новый, конечный, куда переносится конфигурация: prints-new, таким образом шаги по переносу данных с одного принт-сервера на другой будут следующими:
- На резервном (новом) сервере, поднимаем роль службы печати и документов, если она не была добавлена ранее.
- На старом сервере отменяем публикацию в Active Directory, снятием галочки List in Directory в свойствах каждого установленного принтера либо выделяем все принтеры сразу и по правой кнопке выбираем: Remove from Directory;
- Выводим, если это возможно старый сервер из домена, меняем сетевое имя на prints-old, перегружаемся. Если данная возможность не доступна, например в случае физического выхода из строя сервера, то удаляем компьютер/сервер на контроллере, например из оснастки «Active Directory Users and Computers» в контейнере Computers. На предложение удалить все вложенные объекты (Confirm Subtree Deletion) отвечаем утвердительно.
- На новом сервере, куда переносим конфигурацию меняем сетевое имя на prints, добавляем в домен.
- Восстанавливаем экспортированный ранее файл .printerExport на новом сервере. (Import printers from a file…). В процессе импорта есть возможность сразу опубликовать принтеры для общего доступа в службе каталогов (List in directory). После чего, проверяем работу принтеров на новом сервере.
6) Устранение неполадок в работе службы печати;
Что касаемо, неполадок возникающих в процессе работы службы печати и их устранении, то здесь писать особо нечего, т.к. все сводится буквально к нескольким шагам, по остановке службы печати, зачистке очередей печати в %windir%System32spoolPRINTERS и последующем старте службы, что известно практически каждому админу и не только. Для полноты обзора, и для совсем «зеленых» товарищей приведу всем известную последовательность команд
Запускаем командную строку — cmd.exe;
Останавливаем службу печати:
Чистим очередь печати, удаляя *.SHD, *.SPL, *.TMP файлы внутри директории, командой:
del /q /f %windir%System32spoolPRINTERS*.*
Запускаем службу печати:
Либо делаем профилактический рестарт службы, без зачистки очереди:
net stop spooler & net start spooler
Можно сделать батник для запуска а автоматическом режиме. Сохраняем файл например под именем spool.cmd.
setlocal net stop spooler del /q /f %windir%System32spoolPRINTERS*.* net start spooler
Перезапустить службу можно и при помощи gui интерфейса, в оснастке «службы» — services.msc, а почистить папку PRINTERS в проводнике, но как по мне в консоле или батником быстрее.
Содержание
- Настройка TS Easy Print на сервере терминалов Windows Server 2012 R2
- Настройка Easy Print в Windows Server 2012 R2
- Настройка Easy Print на стороне клиента
- Настройка Easy Print на стороне сервера Remote Desktop Server
- Как решить проблемы подсистемы печати в терминальном сервере
- Вместо Intro
- Причины и решения
- Идентичные драйвера
- Изоляция драйверов
- TS Easy Print
- Решения сторонних компаний
- Настройка TS Easy Print на сервере терминалов Windows Server 2016
- Настройка
Настройка TS Easy Print на сервере терминалов Windows Server 2012 R2
Настройка TS Easy Print на сервере терминалов Windows Server 2012 R2
Технология TS Easy Print является альтернативой стандартной службе печати, появилась впервые в Windows Server 2008R2. Благодаря данной технологии значительно повышается быстродействие, а главное – стабильность и отказоустойчивость подсистемы печати в том числе и на терминальных серверах.
Внедрение Easy Print не требует установки ролей и компонентов, настройки сервера или рабочей станции пользователя. Необходимо лишь наличие клиента удаленного рабочего стола версии 6.1 (или старше) и .NET Framework 3.0 SP1 (или старше).
Чтобы включить данную технологию необходимо зайти в редактор групповых политик gpedit.msc:
Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Перенаправление принтеров
- перенаправлять только используемый по умолчанию принтер клиента – вкл
- использовать в первую очередь драйвер принтера Easy Print – отк
Далее выполняем настройку изоляции драйверов печати. Данная функция доступна также с Windows Server 2008. Для этого перейдем в раздел редактора групповых политик:
Конфигурация компьютера\Административные шаблоны\Принтеры
- выполнять драйвера принтеров в изолированном виде – вкл
- переопределить параметр совместимости выполнения драйвера печати , сообщенный драйверов печати – вкл
Для корректной работы данный технологии необходимо, чтобы на сервера был установлен принтер Microsoft XPS Document Writer. Настройка Easy Print завершена.
Нашли ошибку в тексте? Выделите фрагмент текста и нажмите Ctrl+Enter
Настройка Easy Print в Windows Server 2012 R2
Технология TS Easy Print была впервые представлена в Windows Server 2008 в качестве альтернативы использованию традиционной подсистемы печати на терминальных серверах RDS. Easy Print позволяет избежать установки драйверов для перенаправленных принтеров на сервере терминалов и позволяет сопоставлять перенаправленный клиентский принтер с драйвером Easy Print. Это значительно повышает стабильность и производительность работы службы диспетчера очереди печати и сервера RDS в целом.
Функционал Easy Print основана на спецификациях, определенных в стандарте XPS для драйверов принтеров. Основные преимущества формата XPS: использование открытого формата документа, портативность и независимость от аппаратной платформы, низкие требования к пропускной способности канала (за счет использования более легкого стандарта XML). Задание печати XPS через сеанс RDP передается на клиентский ПК и обрабатывается локальным драйвером печати.
Настройка Easy Print на стороне клиента
Для использования Easy Print на стороне клиента, он должен соответствовать следующим требованиям:
- Операционная система- Windows XP SP3 и выше
- Версия RDP клиента 6.1 (mstsc.exe — 6.0.6001) и выше
- Наличие установленного .NET Framework 3.0 SP1 или .NET 3.5
- В параметрах RDP подключения на вкладке Локальные ресурсы (Local Resources) в разделе Выберите устройства и ресурсы, которые вы хотите использовать во время удаленного сеанс должна быть отмечена опция «Принтеры»
Если вместо клиент mstsc.exe, вы используете для подключения настроенный.rdp файл, в нем должна присутствовать следующая строка:
Настройка Easy Print на стороне сервера Remote Desktop Server
Драйвер печати Easy Printer устанавливается на сервере при развертывании роли служб удаленных рабочих столов (RDS), а в списке принтеров появляется новый принтер с именем Microsoft XPS Document Writer. Этот драйвер печати поддерживает различные модели принтеров.
В Windows Server 2012 R2 включить обязательное использование технологии Easy Print на стороне сервера RDS можно только через групповые политики.
- Откройте редактор локальной (gpedit.msc) или доменных (GPMC.msc) GPO
- Перейдите в раздел Computer Configuration –> Administrative Templates –> Windows Components -> Remote Desktop Services –> Remote Desktop Session Host -> Printer Redirection (аналогичная политика имеется и в пользовательском разделе GPO)
Printer Redirection » srcset=»https://vmblog.ru/wp-content/uploads/2017/10/remote-desktop-session-host-greater-printer-redirection.png 978w, https://vmblog.ru/wp-content/uploads/2017/10/remote-desktop-session-host-greater-printer-redirection-300×206.png 300w, https://vmblog.ru/wp-content/uploads/2017/10/remote-desktop-session-host-greater-printer-redirection-768×526.png 768w» sizes=»(max-width: 978px) 100vw, 978px»/>
- Найдите и включите политику Use Remote Desktop Easy Print driver first
Совет. В том случае, если клиент не поддерживает использование драйвера 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 серверах драйвера для различных моделей принтеров, используемых клиентами.
Как решить проблемы подсистемы печати в терминальном сервере
Сегодня я бы хотел поделиться своим опытом устранения проблем печати на терминальном сервере Microsoft.
Подробности под катом.
Вместо Intro
Наверняка, почти каждый системный администратор, работающий с Windows и, в частности, с терминальным сервером, сталкивался с проблемами печати.
Разрывается телефон, у всех одна и та же проблема: «Нажимаю на печать — ничего не происходит!». Идем смотреть логи и видим следующую картину:
Знакомо? Никаких подробностей, ничего — гадайте, господа администраторы! На форумах в интернете полно вопросов по этой теме и очень мало полных, структурированных ответов. Что ж, попробуем собрать в кучу все варианты решений.
Причины и решения
Итак, из-за чего может происходить подобная ситуация? Большую часть подобных ситуаций вызывают установленные на сервере драйверы.
- Необходимо помнить, что драйверы у клиентов и на сервере должны быть идентичны
- Убедитесь, что включена изоляция драйверов
- Удалите все драйвера на сервере и попробуйте использовать TS Easy Print
- Попробуйте решения сторонних компаний
А теперь пройдемся подробнее по всем пунктам. Для начала установим на наш терминальный сервер роль «Службы печати и документов».
Это позволит нам удобно управлять драйверами и принтерами, установленными в системе.
Идентичные драйвера
Думаю, тут особо не о чем рассказывать. Стоит помнить, что драйвера необходимо брать с официальных страниц изготовителя принтера. Так же еще один момент — стабильнее всего ведут себя PCL5. Если есть возможность выбора между PCL5 и PCL6 — стоит установить PCL5 (соответственно, серверу и клиенту).
Изоляция драйверов
В Windows 2008 появилась замечательная возможность изоляции драйверов принтера. Теперь драйвер принтера подгружается не Spoolsv.exe а специальным процессом PrintIsolationHost.exe. При «вылетании» драйвера принтера «слетает» только один экземпляр PrintIsolationHost.exe, а сама служба «Диспетчера печати» остается работоспособной, что, как понимаете, весьма влияет на настроение пользователей 😉
Чтобы включить данную возможность, нам необходимо открыть редактор локальной групповой политики (gpedit.msc) и пройти следующим путем: «Параметры компьютера -> Административные шаблоны -> Принтеры». Находим и включаем следующие пункты:
- Выполнить драйверы принтеров в изолированных процессах
- Переопределить параметр совместимости выполнения драйвера печати, назначенный драйвером печати
Будет выглядеть следующим образом:
TS Easy Print
Видимо, вняв наконец стенаниям системных администраторов, компания Microsoft решила что-то сделать с необходимостью ставить зоопарк драйверов на терминальный сервер и падающим из-за этого spoolsv.exe. В итоге, на свет родилась технология TS Easy Print. Ключевой особенностью является, то, что больше нам не нужно устанавливать на сервер драйвера для каждого принтера — вместо этого используется унифицированный драйвер Remote Desktop Easy Print, соответственно, мы уходим от проблемы падающего спулера — ведь все операции с печатью выполняются на компьютере клиента.
Для того, чтобы явно определить, что мы хотим использовать на терминальном сервере TS Easy Print, необходимо пройти опять же в редактор локальной групповой политики (gpedit.msc) по следующему пути: «Параметры компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Перенаправление принтеров». Нас интересуют следующие пункты, которые надо включить:
- Использовать в первую очередь драйвер принтера Easy Print удаленного рабочего стола
- Перенаправлять только используемый по умолчанию принтер клиента
Второй пункт необходим, если мы хотим, чтобы в терминале у клиента был только его принтер по умолчанию.
Далее, необходимо очистить наш сервер от лишних драйверов принтеров. Это можно сделать в менеджере роли «Службы печати и документов».
Внимательно удаляйте драйвера! Необходимо оставить в живых такие вещи, как «Remote Desktop Easy Print» и «Microsoft XPS Document Writer». Именно они и отвечают за передачу печати на клиента.
Теперь перейдем к требованием на клиенте. Их всего два — использование протокола RDP версии не ниже 6.1 и .NET Framework 3.0 с пакетом обновления 1 (SP1). Больше от них ничего не требуется.
Решения сторонних компаний
Избавиться от проблемы падающего спулера призваны такое ПО как, например, ScrewDrivers (сайт). Оно предоставляет клиент-серверную архитектуру.
Сервер ScrewDrivers — это компонент, который необходимо установить на серверы, на которых планируется использовать печать в терминальном сеансе. Клиент ScrewDrivers должен быть установлен на рабочих станциях. Именно этот компонент позволяет создать на терминальном сервере виртуальные принтеры, которые соответствуют локальным принтерам пользователя.
В целом, напоминает Easy Print, но не бесплатно (впрочем, есть лекарства ;).
Настройка TS Easy Print на сервере терминалов Windows Server 2016
Технология TS Easy Print является альтернативой стандартной службе печати, появилась впервые в Windows Server 2008R2.
Благодаря данной технологии значительно повышается быстродействие, а главное — стабильность и отказоустойчивость подсистемы печати в том числе и на терминальных серверах.
Внедрение Easy Print не требует установки ролей и компонентов, настройки сервера или рабочей станции пользователя.
Необходимо лишь наличие клиента удаленного рабочего стола версии 6.1 (или старше) и .NET Framework 3.0 SP1 (или старше).
Настройка
Чтобы включить данную технологию необходимо зайти в редактор групповых политик gpedit.msc :
использовать в первую очередь драйвер принтера Easy Print — отк
сервер сначала будет пытаться печатать с помощью драйвера принтера и только если его не найдет обратится к драйверу easy print.
Далее выполняем настройку изоляции драйверов печати.
Данная функция доступна также с Windows Server 2008.
Для этого перейдем в раздел редактора групповых политик:
переопределить параметр совместимости выполнения драйвера печати , сообщенный драйверов печати — вкл
Для корректной работы данный технологии необходимо, чтобы на сервера был установлен принтер Microsoft XPS Document Writer.
Служба печати Windows Server. Настройка и обслуживание
В данной заметке поговорим о внедрении и последующем обслуживании сервера печати (по др. принт-сервера) полезной серверной роли в Windows Server 20xx, обеспечивающей эффективный, централизованный контроль за работой всех принтеров в организации.
Внедрение сервера печати, по сравнению с обычной клиентской установкой принтера, сулит следующие преимущества:
— Возможность централизованного управления всеми принтерами в организации, очередью печати, драйверами.
— Обеспечение общего доступа к принтерам через публикацию в Active Directory;
— Возможность разворачивать принтеры при помощи групповой политики;
— Создавать пулы, что позволяет объединить несколько физических принтеров в один логический.
Исходные условия у нас таковы, что имеется определенный парк сетевых принтеров HP и Kyocera и нам необходимо настроить к ним доступ таким образом, что бы пользователь мог самостоятельно выбирать ближайший к себе принтер и устанавливать себе в систему. Для этого нам как администраторам, необходимо сначала развернуть сервер печати, добавить на него все наши принтеры, опубликовать в Active Directory, обучить пользователей простым шагам по установке\добавлению принтера или устанавливать их в автоматическом режиме при помощи групповой политики. В процессе работы, выполнять простые шаги по администрированию системы и устранять возникающие неполадки с печатью, о чем речь пойдет ниже.
1) Установка роли Print and Document Services ( Служба печати и документов );
Итак, у нас имеется машина с установленным Windows Server 2012R2, хотя это может быть и 2008 и последняя на текущий момент Windows Server 2016, т.к. процесс установки службы от версии к версии отличается не сильно и сводится буквально к нескольким кликам по кнопке Далее. Запускаем Server Manager, выбираем Add Role and Features Wizard (Добавить роль и мастер компонентов).
Затем соглашаемся с первым пунктом Role-based or feature-based installation (Базовая установка ролей и компонентов) жмем Далее.
На следующем экране Select Destination server (Выбор сервера назначения) выбираем сервер из пула или расположенный на VHD-диске. Поскольку у нас, пока только один локальный сервер, то жмем Next.
На следующем экране Features, опционально выбираем компоненты для установки если нужно. Жмем Next.
Далее нам предлагают ознакомится с полезной информацией по службе печати Print and Document Services. Ознакамливаемся и жмем Next 🙂
Затем выбираем конкретные сервисы для установки. По мимо Print Server (Сервер печати) можно выбрать еще Distributed Scan Server (Распределенный сервер сканирования), Intetnet Printing (Поддержка печати через Интернет) и LPD Service (Служба печати UNIX). В рамках данной заметки нас интересует только cервер печати, поэтому выбираем его и жмем Next.
На завершающем экране, соглашаемся с установкой выбираемых компонентов нажатием кнопки Install.
Закрываем мастер при помощи close.
Те же действия, но в Powershell, можно выполнить буквально в несколько команд:
[shell]Fipmo ServerManager
add-WindowsFeature Print-Server[/shell]
После установки службы, перезагружать сервер не требуется. Но, перед тем как начать добавление принтеров на сервер, добавим его в домен, что позволит в последствии публиковать принтеры сразу в Active Directory.
Используем классический gui-вариант добавления, либо при помощи несложной команды в PS:
Перезапускаем сервер командой:
2) Консоль управления Print Managment. Добавление драйверов и принтеров на сервер;
Запускаем консоль управления Print Managment. Для этого переходим в Пуск\Administrative tools\Print management. Либо запускаем в командной строке: printmanagement.msc
Здесь, самый верхний узел Print Managment позволяет добавлять/удалять локальные и другие серверы печати для администрирования, а так же выполнять миграцию принтеров.
Custom Filters фильтрует принтеры по категориям: Все принтеры (All Printers), Все драйверы (All Drivers), Принтеры в состоянии «не готов» (Printers Not Ready) и принтеры с активными заданиями печати (Printers With Jobs). Так же, по правой кнопке, можно задать свой фильтр, если вам не хватает текущих.
И всего вышесказанного следует, что для корректной работы системы нам сначала необходимо установить на сервер правильный драйвер, а затем уже добавлять сами принтеры. Поэтому скачиваем универсальный драйвер с сайта производителя, например для HP здесь, а для Kyocera тут. Что касаемо типа драйвера, PCL5 или PCL6 то тут решайте сами. Кто то говорит что PCL5 стабильнее, но лично я не заметил особой разницы. По идее PCL версии 6 это просто более новая реализация PCL драйвера от HP, поэтому имеет смысл использовать ее.
На экране Printer Driver Selection выбираем драйвер для принтера. Жмем Have Disk и Browse для обзора и добавления драйверов.
Выбираем ранее скаченный драйвер. В нашем примере это универсальный драйвер Kyocera, жмем Next и Finish. Повторяем операцию для других ваших устройств.
Лично у меня на сервере, в ходу принтеры только HP и Kyocera, соответственно и драйверы используются только этих производителей. Правда, надо отметить, что при использовании универсального драйвера от HP, далеко не все принтеры поддерживаются или не все функции поддерживаются корректно, хотя большая часть принтеров корпоративного класса работает без проблем. Посмотреть список поддерживаемых устройств можно по ссылке. После добавления драйверов, получим примерно следующую картинку.
Обратим внимание на вкладку Driver Isolation (Изоляция драйвера), где у нас, драйверы по умолчанию помечены флагом «shared» т.е. находятся в неком изолированном режиме с общим доступом. Технология изоляции драйвера или Printer Driver Isolation (PDI), позволяет выводить работу принтеров в отдельный процесс PrintIsolationHost.exe, отдельно от диспетчера печати spoolsv.exe, и других драйверов на сервере, т.е. если возникает проблема в драйвере, то она затрагивает только процесс, который подгрузил этот драйвер, но не саму службу печати spoolsv.exe, которая при этом, остается работоспособной.
И в случае режима shared (общий доступ) все драйверы принтера настроены на работу с одним, общим экземпляром процесса PrintIsolationHost.exe, но отдельно от диспетчера печати. Данный режим является рекомендуемым Microsoft. В случае, возникновения проблем с драйверами, несовместимостью и частым падением принтеров, особенно в терминальном режиме, можно попробовать использовать режим isolated (изолированный), где уже каждый драйвер принтера, настроен на использование своего собственного экземпляра процесса PrintIsolationHost.exe и так же отдельно от диспетчера печати (spooler).
При установленном флаге «none», драйверы принтеров загружаются как обычно, при помощи диспетчера печати (spooler), т.е. если падает процесс spoolsv.exe, то это затрагивает работу сразу всех принтеров на сервере.
На следующем экране, выбираем ранее установленный универсальный драйвер HP или Kyocera из списка или добавляем новый. Жмем Next.
Затем, задаем имя принтеру и добавляем его в общий доступ, указав имя расшаренного ресурса, физическое расположение и комментарий. По этой информации пользователи смогут идентифицировать нужный им принтер в службе каталогов и добавить его к себе в систему. Жмем Next.
Соглашаемся с предложением установить принтер. Жмем Next и дожидаемся окончания процесса установки.
Затем, что бы принтер был доступен в Active Directory для выбора, необходимо его опубликовать. Для этого переходим в свойства принтера на вкладку Sharing и отмечаем галочку List in Directory (Внести в Active Directory) и жмем Apply (Применить).
Проделываем ту же операцию для всех принтеров в организации. Можно выделить все принтеры сразу и по правой кнопке сказать: List in Directory. В итоге, можно получить примерно следующий список.
Теперь, на клиентском компьютере в домене, пользователь сможет увидеть нужный ему принтер в списке и установить его.
Но это в теории, или по крайней мере так было раньше! На практике, при добавлении сетевого принтера под доменной учетной записью, нередко можно получить следующую ошибку:
Подключение к принтеру. Установленная на данном компьютере политика не позволяет подключение к данной очереди печати. Обратитесь к системному администратору.
Или английский вариант:
Connect to Printer. A policy is in effect on your computer which prevents you from connecting to this print queue. Please contact your system administrator.
Связано это с тем, что 12 июля 2016 года Microsoft выпустила обновление безопасности KB3170455, устраняющее критическую уязвимость в системе печати, что повлекло за собой новые требования к безопасности драйверов принтера, а именно:
1. Драйвер принтера должен быть доверенным и подписан цифровой подписью. Процесс установки проверяет наличия хешированных файлов в пакете драйвера, и если обнаруживает не хешированные (без цифровой подписи), то выводит сообщение об ограничениях существующей политики. В случае универсального драйвера от HP проверка на цифровую подпись файлов в пакете проходит успешно и принтер ставится без проблем, а вот при попытке установить на клиенте принтер от Kyocera, где в качестве драйвера используется Kyocera Universal Classic Driver, который, кстати говоря на сайте числится как ‘signed’ вылезает ошибка выше.
2. Драйвер принтера должен быть упакованным, спецификация (package-aware v3). При попытке установить не упакованный драйвер (non-package-aware v3) получим сообщение о недоверии к принтеру и запрос на повышении прав позволяющий установить драйвер с административной учетной записью.
Проверить упакован драйвер принтера или нет, можно в консоли управления принтерами (Printer Managment) в разделе Drivers, колонка Packages. Как видим, драйвер Konica Minolta находится в состоянии false.
Решить проблему с установкой не доверенных драйверов принтеров на клиентских компьютерах, нам поможет включение групповой политики: Point and Print Restriction (Ограничения указания и печати), которая находится по адресу:
Computer Configuration\Policies\Administrative Templates\Printers (Конфигурация компьютера\Политики\Административные шаблоны\Принтеры).
Отмечаем галочки напротив Users can only point and print to these server (Функцию указания и печати можно использовать только на этих серверах) и через точку с запятой, указываем полные доменные имена серверов печати (FQDN). В нашем примере это: prints.test.ru. В поле Security Promts (Запросы безопасности), параметрам «Then installing drivers for a new connection» и «Then updating drivers for a exsiting connection» (При установке/обновлении драйверов для нового подключения) выставляем: Don’t show warning or elevation promt (Не показывать предупреждение или запрос на повышении прав).
В поле Enter fully qualified server names (Введите полные доменные имена серверов) задаем имя сервера печати. Жмем применить. На принт-сервере и на клиентских ПК запускаем принудительное обновление политик при помощи gpupdate /force. После чего установка принтеров должна происходить без вопросов.
3) Консоль управления Print Managment. Добавление принтеров в пул (Print Pooling);
Для того что бы объединить несколько принтеров в пул, переходим в раздел Printers нашего принт-сервера и добавляем как обычно новый принтер в систему либо выбираем существующий. Затем переходим на вкладку Ports (порты) и добавляем новый TCP/IP-порт соответствующий IP-адресу другого принтера в будущем пуле.
Выбираем Standart TCP/IP Port и жмем New Port. Затем прописываем IP-адрес принтера, жмем Next и Finish. Добавляем столько портов сколько нам нужно в пуле.
Теперь переходим в свойства будущего логического принтера, на вкладку Ports (Порты) и отмечаем чекбокс Enable print pooling (Разрешить группировку принтеров в пул), затем дополнительно выбираем ранее созданный порт 192.168.0.210 и жмем Apply (Применить);
Таким образом мы добавили два физических принтера в пул, и получили на выходе один логический.
4) Консоль управления Print Managment. Установка принтеров при помощи групповой политики;
Что если в нашей организации 50-100 и более компьютеров, а пользователи, как это не редко бывает сами не хотят / не умеют или не знают какой из принтеров в каталоге им необходимо установить? В данном сценарии нам поможет инструмент установки принтера при помощи групповой политики. Например, если известно, что у определенного пользователя или группы должен быть установлен определенный принтер, то можно заранее в автоматическом режиме развернуть нужные принтеры, незаметно для пользователя и без прямого вмешательства системного администратора. Для этого необходимо авторизоваться на сервере-печати под доменной учетной записью с правами Print Operators или выше, затем перейти в консоль Print Managment, отметить нужный принтер и по правой кнопке выбрать пункт Deploy with Group Policy (Развернуть с помощью групповой политики). В качестве примера, проделаем данную операцию для принтера «Операторы». В поле GPO name выберем объект групповой политики на который будет распространяться политика автоматической установки принтера. Я выберу заранее созданный объект Operator, который в свою очередь привязан к подразделению Operators, внутри которого находятся объекты пользователей для которых и производится установка принтера.
Отмечаем галочкой на кого будет распространяться политика подключения принтера, на пользователей или компьютеры. Жмем добавить, применить, ОК.
Перезапускаем клиентский компьютер и видим что принтер «Операторы» успешно добавлен в сиcтему.
5) Перенос конфигурации с одного сервера печати на другой;
В рамках данной статьи, текущий (исходный) сервер у нас имеет сетевое имя: prints, новый, конечный, куда переносится конфигурация: prints-new, таким образом шаги по переносу данных с одного принт-сервера на другой будут следующими:
6) Устранение неполадок в работе службы печати;
Что касаемо, неполадок возникающих в процессе работы службы печати и их устранении, то здесь писать особо нечего, т.к. все сводится буквально к нескольким шагам, по остановке службы печати, зачистке очередей печати в %windir%\System32\spool\PRINTERS и последующем старте службы, что известно практически каждому админу и не только. Для полноты обзора, и для совсем «зеленых» товарищей приведу всем известную последовательность команд 🙂
Останавливаем службу печати:
[shell]net stop spooler[/shell]
Чистим очередь печати, удаляя *.SHD, *.SPL, *.TMP файлы внутри директории, командой:
[shell]del /q /f %windir%\System32\spool\PRINTERS\*.*[/shell]
Запускаем службу печати:
[shell]net start spooler[/shell]
Либо делаем профилактический рестарт службы, без зачистки очереди:
[shell]net stop spooler & net start spooler[/shell]
Источник
Ускорение печати из терминальной сессии Windows Server или доработка EasyPrint напильником
И вот он настал, этот день, когда в очередной раз, ожидая распечатки от томно подмигивающего принтера, я, наконец, решил, что мое терпение не безгранично. Посвящается тем, кого тоже достала медленная печать на перенаправленных принтерах. Все знают про достоинства технологии EasyPrint, теперь поговорим о ее недостатках и методах борьбы с ними.
Задачей технологии EasyPrint является преобразование контента, выводимого на печать, в xps формат и передача его на клиентский компьютер, откуда он и будет напечатан с помощью родного драйвера. Проблема в том, что преобразование и передача, прибавившего в весе от такого преобразования, потока занимает слишком много времени. За универсальность приходится платить.
Решение состоит в использовании на сервере родных драйверов для каждого принтера, это позволяет осуществлять печатать напрямую, получая от клиента только физический адрес принтера. Сразу отмечу, что такое решение связано с риском превратить сервер в помойку драйверов, поэтому эти моменты нужно отслеживать. Ну и, понятно, что должен существовать драйвер нужного принтера для x64 систем (думаю, что x86 на серверах уже неактуально).
Перейдем от теории к практике.
Добавляем администратора в группу «Операторы печати», чтобы видеть перенаправленные принтеры всех пользователей.
Запускаем оснастку «Управление печатью» (printmanagement.msc) и добавляем драйверы нужных принтеров на сервер печати.
Очень важно: название принтера в драйвере должно в точности совпадать с названием принтера в драйвере на клиентской машине, иначе перенаправленный принтер не подхватит драйвер на сервере. Проверить, используется ли драйвер EasyPrint для конкретного перенаправленного принтера, мы можем в свойствах этого принтера в оснастке «Устройства и принтеры» (после установки драйвера на сервер, для его использования пользователь должен перелогиниться на сервере). Если название принтеров в драйверах не совпадают, то запускаем редактор реестра, переходим на [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3] и меняем название нужного драйвера (после этого нужна перезагрузка). Благодаря такому твику, мы можем использовать на сервере нужный нам драйвер, отличный от клиентского. Для нужных мне принтеров HP я подобрал драйверы с одинаковым названием для клиентов (Windows XP) и для сервера (Windows Server 2008R2), использовав драйвера для разных редакций Windows Vista с сайта HP. Ленивые могут просто использовать драйвер от Microsoft, исправив его название в реестре.
Источник
Как решить проблемы подсистемы печати в терминальном сервере
Сегодня я бы хотел поделиться своим опытом устранения проблем печати на терминальном сервере Microsoft.
Подробности под катом.
Вместо Intro
Наверняка, почти каждый системный администратор, работающий с Windows и, в частности, с терминальным сервером, сталкивался с проблемами печати.
Разрывается телефон, у всех одна и та же проблема: «Нажимаю на печать — ничего не происходит!». Идем смотреть логи и видим следующую картину:
Знакомо? Никаких подробностей, ничего — гадайте, господа администраторы! На форумах в интернете полно вопросов по этой теме и очень мало полных, структурированных ответов. Что ж, попробуем собрать в кучу все варианты решений.
Причины и решения
Итак, из-за чего может происходить подобная ситуация? Большую часть подобных ситуаций вызывают установленные на сервере драйверы.
А теперь пройдемся подробнее по всем пунктам. Для начала установим на наш терминальный сервер роль «Службы печати и документов».
Это позволит нам удобно управлять драйверами и принтерами, установленными в системе.
Идентичные драйвера
Думаю, тут особо не о чем рассказывать. Стоит помнить, что драйвера необходимо брать с официальных страниц изготовителя принтера. Так же еще один момент — стабильнее всего ведут себя PCL5. Если есть возможность выбора между PCL5 и PCL6 — стоит установить PCL5 (соответственно, серверу и клиенту).
Изоляция драйверов
В Windows 2008 появилась замечательная возможность изоляции драйверов принтера. Теперь драйвер принтера подгружается не Spoolsv.exe а специальным процессом PrintIsolationHost.exe. При «вылетании» драйвера принтера «слетает» только один экземпляр PrintIsolationHost.exe, а сама служба «Диспетчера печати» остается работоспособной, что, как понимаете, весьма влияет на настроение пользователей 😉
TS Easy Print
Далее, необходимо очистить наш сервер от лишних драйверов принтеров. Это можно сделать в менеджере роли «Службы печати и документов».
Внимательно удаляйте драйвера! Необходимо оставить в живых такие вещи, как «Remote Desktop Easy Print» и «Microsoft XPS Document Writer». Именно они и отвечают за передачу печати на клиента.
Решения сторонних компаний
Избавиться от проблемы падающего спулера призваны такое ПО как, например, ScrewDrivers (сайт). Оно предоставляет клиент-серверную архитектуру.
Сервер ScrewDrivers — это компонент, который необходимо установить на серверы, на которых планируется использовать печать в терминальном сеансе. Клиент ScrewDrivers должен быть установлен на рабочих станциях. Именно этот компонент позволяет создать на терминальном сервере виртуальные принтеры, которые соответствуют локальным принтерам пользователя.
В целом, напоминает Easy Print, но не бесплатно (впрочем, есть лекарства ;).
Источник
Настройка Easy Print в Windows Server 2012 R2
Технология 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, можно протестировать политику.
По умолчанию количество перенаправленных принтеров в сессии ограничено числом 20. Изменить эту настройку можно через реестр. Для этого в ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
нужно создать параметр MaxPrintersPerSession со значением, равным максимальному количеству принтеров, которые должны перенаправляться в рамках RDP сессии.
Для лучшей производительности предпочтительнее перенаправлять с клиента только один принтер, используемый по умолчанию. Для реализации этой концепции достаточно включить политику Redirect only the default client printer.
Таким образом, благодаря использованию Remote Desktop Easy Print, существенно упрощается настройка подсистемы печати на терминальных серверах, а администратору нет необходимости устанавливать на RDS серверах драйвера для различных моделей принтеров, используемых клиентами.
Источник