How to create a load balanced Windows print server


When designing the printing architecture for Citrix, there are basically two different pathways that can be leveraged- client mapped printers or session-based printers. Client mapped printing leverages the current printers that are defined on client endpoints and maps these into the users Citrix session, and the second option relies on network print servers and creates a direction connection from the Citrix server to the print server. You can have printer presented to users over both pathways. When making the decision to use session printers, this means all the print traffic for all Citrix users will route through Windows print servers. And these are typically standalone servers, so the question that comes up how do we provide High Availability for the Windows print server service?

And then beyond that, what if we decide we don’t want to manage multiple print drivers on our Citrix servers, and instead want to leverage Citrix’s Universal Print Server  (CUPS) solution?This service also needs to be built with HA in mind, and it uses a completely different pathway from the Citrix session server to print server to communicate.

Keep in mind that native load balancing of CUPS is now an option in XenDesktop 7.9. This client was running 7.6 LTSR so native LB was not an option. We turned to the F5 LB appliance onsite and got to work on balancing both the native Windows Printing and Citrix Universal Printing.


  1. Need at least 2 Windows printer servers. I installed with 2012 R2 so these instructions are written for that particular OS.
  2. Install/configure print server role.
  3. Install printer drivers, and create/define printers. Make sure they are shared and visible from remote clients.
  4. Configure printers, making sure to use same names and permissions on both print servers (assuming 2 node config).
  5. Install Cirix UPS


  1. Install loopback adapter on both servers
    • Click Start, then run hdwwiz to start the Hardware Installation Wizardha1
    • When the Wizard has started, click Next
    • Select Install the hardware that I manually select from a list (Advanced), click Next
    • Select Network adapters, click Next
    • Select Microsoft & Microsoft KM-Test Loopback Adapter, click Nextha3
    • Click next and finish
    • open Network and sharing center
    • change adapter settings
    • rename the loopback adapter to “Loopback”ha4
    • Right Click on Loopback Adapter and choose Properties.
    • Un-check all items except:
      1. IPv4
      2. IPv6
      3. client for ms networks
      4. file and printer sharing for MS Networks
    • select IPv4 and choose Properties
    • input the static IP address of the VIP.
    • use for SM
    • no gateway is needed

ha5Type Alt to show the menu and selected Advanced | Advanced Settings. Verify the default connection binding order, where Loopback should have priority and Ethernet will be second.ha2

  1. configure weak host model for both network interfaces. Check the names for each interface in the GUI before proceeding and make sure they make in the syntax below.

open a Command Prompt as Administrator and run the following:

netsh interface ipv4 set interface "Ethernet" weakhostreceive=enabled

netsh interface ipv4 set interface "Loopback" weakhostreceive=enabled

netsh interface ipv4 set interface "Loopback" weakhostsend=enabled

Verify the weak host settings were modified successfully.

netsh interface ip4 show interface “Ethernet”

netsh interface ip4 show interface “Loopback”


Put in place the following registry changes-

Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

Value: DisableLoopbackCheck

Type: REG_DWORD Data: 1


Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters

Value: DisableStrictNameChecking

Type: REG_DWORD Data: 1


Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters

Value: OptionalNames

Type: REG_MULTI_SZ Data: f5vip shortname

Leave a Reply