📜 ⬆️ ⬇️

Acceleration of printing from a terminal session of Windows Server or completion of the EasyPrint file

And now it has come, this day, when once again, expecting a printout from a languidly winking printer, I finally decided that my patience is not unlimited. Dedicated to those who also got slow printing on redirected printers. Everyone knows about the advantages of EasyPrint technology, now let's talk about its shortcomings and how to deal with them.

The task of the EasyPrint technology is to convert the printed content into xps format and transfer it to the client computer, from where it will be printed using the native driver. The problem is that the conversion and transmission, which has added in weight from such a transformation, takes too much time. For universality you have to pay.

The solution is to use native drivers for each printer on the server, this allows you to print directly, receiving from the client only the physical address of the printer. Immediately, I note that this decision is associated with the risk of turning the server into a driver's garbage bin, so these points need to be monitored. Well and, it is clear that the driver of the necessary printer for x64 systems should exist (I think that x86 on servers is no longer relevant).

Let's move from theory to practice.
')
Add an administrator to the Print Operators group to see the redirected printers of all users.

Disable primary use of EasyPrint. We start equipment of local policy ( gpedit.msc ), for domains it is necessary to use domain policy. Go to Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Printer Redirection and set the “Use Remote Desktop Printer Driver First” policy to “disabled” .

We launch the “Print Management” snap- in ( printmanagement.msc ) and add the drivers of the necessary printers to the print server.

Very important: the printer name in the driver must exactly match the printer name in the driver on the client machine, otherwise the redirected printer will not pick up the driver on the server. To check whether the EasyPrint driver is used for a specific redirected printer, we can in the properties of this printer in the “Devices and Printers” snap-in (after installing the driver on the server, the user must re-log on the server to use it). If the printer names in the drivers do not match, then start the registry editor, go to [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3] and change the name of the driver you need (after that you need to reboot). Thanks to this tweak, we can use on the server the driver we need, different from the client one. For the HP printers I need, I picked up drivers with the same name for clients (Windows XP) and for a server (Windows Server 2008R2), using drivers for different editions of Windows Vista from the HP website. Lazy can simply use the driver from Microsoft, correcting its name in the registry.

If you have x64 clients with drivers from the Windows distribution or from the Windows update, then there is a high probability that they will automatically be pulled to the server when the client connects. Therefore, keep an eye on the installed drivers using the Print Management snap- in . Another tweak - if you have gotten an unnecessary driver, then you can remove it from the snap-in without removing the package, and delete the link to the package in this registry branch [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\PackageInstallation\Windows x64\DriverPackages] . Then the next time you connect this driver will not be installed again, and printing on this printer will be done by means of EasyPrint.
I did not describe it in too much detail, I think that readers are “in the subject line”, if you have questions, ask.

Source: https://habr.com/ru/post/308648/


All Articles