Прискорення друку з термінальної сесії Windows Server або доробка EasyPrint напилком

І ось він настав, цей день, коли в черговий раз, очікуючи роздруківку від млосно підморгує принтера, я, нарешті, вирішив, що моє терпіння не безмежне. Присвячується тим, кого теж дістала повільна друк на перенаправлених принтерах. Всі знають про переваги технології EasyPrint, тепер поговоримо про її недоліки і методах боротьби з ними.

Завданням технології EasyPrint є перетворення контенту, що виводиться на друк, формат xps і передача його на сервер, звідки він і буде надрукований за допомогою універсального драйвера. Проблема в тому, що перетворення і передача, додала у вазі від такого перетворення потоку займає надто багато часу. За універсальність доводиться платити.

Рішення полягає у використанні на сервері рідних драйверів для кожного принтера, це дозволяє здійснювати друкувати напряму, отримуючи від клієнта тільки фізичний адресу принтера. Відразу зазначу, що таке рішення пов'язане з ризиком перетворити сервер в смітник драйверів, тому ці моменти потрібно відстежувати. Ну і, зрозуміло, що повинен існувати драйвер потрібного принтера для x64 систем (думаю, що x86 на серверах вже неактуально).

Перейдемо від теорії до практики.

Додаємо адміністратора в групу Оператори друку, щоб бачити перенаправлені принтери всіх користувачів.

Відключаємо переважне використання EasyPrint. Запускаємо оснастку локальної політики (gpedit.msc), для доменів потрібно використовувати доменну політику. Переходимо у Конфігурація комп'ютера -> Адміністративні шаблони -> Компоненти Windows -> Служби віддалених робочих столів -> Вузол сеансів віддалених робочих столів -> Перенаправлення принтерів і встановлюємо політику «Використовувати в першу чергу драйвер принтера Easy Print віддаленого робочого столу» «відключено».

Запускаємо оснастку «Керування друком» (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, виправивши його назву в реєстрі.

Якщо у вас клієнти x64 з драйверами з постачання Windows або Windows update, то є велика ймовірність, що вони автоматично підтягнуться на сервер при підключенні клієнта. Тому слідкуйте за встановленими драйверами з допомогою оснастки «Керування друком». Ще один твік – якщо у вас підтягнувся непотрібний драйвер, то ви можете видалити його з оснастки, не видаляючи package, а посилання на package видалити в цій гілці реєстру
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\PackageInstallation\Windows x64\DriverPackages]
. Тоді при наступному підключенні цей драйвер не буде знову встановлюватися, і друк на цьому принтері буде відбуватися засобами EasyPrint.

Занадто докладно не описував, думаю, що читачі «в темі», якщо є питання — задавайте.<habracut/>
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.