• No results found

Citrix Consulting Services Citrix Systems, Inc.

N/A
N/A
Protected

Academic year: 2020

Share "Citrix Consulting Services Citrix Systems, Inc."

Copied!
54
0
0

Loading.... (view fulltext now)

Full text

(1)

P

P

r

r

i

i

n

n

t

t

i

i

n

n

g

g

A

A

r

r

c

c

h

h

i

i

t

t

e

e

c

c

t

t

u

u

r

r

e

e

S

S

o

o

l

l

u

u

t

t

i

i

o

o

n

n

Citrix Consulting Services

(2)

Notice

The information in this publication is subject to change without notice.

THIS PUBLICATION IS PROVIDED “AS IS” WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. CITRIX SYSTEMS, INC. (“CITRIX”), SHALL NOT BE LIABLE FOR TECHNICAL OR EDITORIAL ERRORS OR OMISSIONS CONTAINED HEREIN, NOR FOR DIRECT, INCIDENTAL, CONSEQUENTIAL OR ANY OTHER DAMAGES RESULTING FROM THE FURNISHING, PERFORMANCE, OR USE OF THIS PUBLICATION, EVEN IF CITRIX HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES IN ADVANCE.

This publication contains information protected by copyright. Except for internal distribution, no part of this publication may be photocopied or reproduced in any form without prior written consent from Citrix.

The exclusive warranty for Citrix products, if any, is stated in the product documentation accompanying such products. Citrix does not warrant products other than its own.

Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies. Copyright © 2001 Citrix Systems, Inc., 6400 NW 6th Way, Ft. Lauderdale, Florida 33309 U.S.A. All rights reserved.

Version History

November 16, 2001 Larry Sweeney Version 1.0 December 20, 2001 Christopher Capute Version 2.0

(3)

TABLE OF CONTENTS

OVERVIEW ... 1

PRINTING BASICS ... 2

PRINTING VOCABULARY... 2

OVERVIEWS OF PRINTING ARCHITECTURES... 2

Network/IP Printing ... 3

Printer Auto-Creation ... 4

Local Printing ... 5

NETWORK/IP PRINTING ARCHITECTURE ... 6

LOCAL (LAN) PRINTING... 6

REMOTE (WAN) PRINTING... 6

SERVER SIDE CONFIGURATION AND CONSIDERATIONS... 7

CLIENT SIDE CONFIGURATION AND CONSIDERATIONS... 7

Importing Network Print Servers ... 8

Automatic Printer Mapping/Login Script Design... 8

Connect Printers Manually... 8

ADVANTAGES/RISKS... 9

Advantages... 9

Risks... 9

PRINTER AUTO-CREATION ARCHITECTURE... 10

AUTO-CREATION ARCHITECTURE... 10

PRINT DRIVER MANAGEMENT... 13

Citrix Universal Print Driver (UPD)... 13

PRINTER BANDWIDTH MANAGEMENT... 13

ICA CLIENT PRINTER CONFIGURATION UTILITY... 14

THIN CLIENTS... 15

ADVANTAGES/RISKS OF AUTO-CREATED PRINTER ENVIRONMENT... 15

(4)

PRINTING ARCHITECTURE SCENARIOS ... 20

SCENARIO 1... 20

SCENARIO 2... 20

SCENARIO 3... 21

SCENARIO 4... 21

ALTERNATIVE PRINTING SOLUTIONS... 22

THIRD PARTY UNIVERSAL PRINT DRIVERS... 22

UNIPRINT... 23

THINPRINT... 23

ThinPrint Installation (Server) ... 23

ThinPrint Server-Configuration: ... 24

ThinPrint Installation (Client)... 25

EMERGENT ONLINE UNIVERSAL PRINT DRIVER... 25

APPENDIX A: IMPLEMENTATION STEPS FOR NETWORK/IP PRINTING ... 26

SERVER SIDE CONFIGURATION... 26

CLIENT SIDE CONFIGURATION... 26

APPENDIX B: IMPLEMENTATION STEPS FOR AUTO- CREATION ENVIRONMENT... 27

CONFIGURING AUTO-CREATION... 27

CITRIX UNIVERSAL PRINTER DRIVER... 30

THIN CLIENTS... 31

APPENDIX C: IMPLEMENTATION STEPS FOR LOCAL METAFRAME PRINTING ... 32

APPENDIX D: CREATING A NETWORK PRINT SERVER ... 33

NETWORK PRINT SERVER... 33

ADDING/PUBLISHING A PRINTER... 33

APPENDIX E: IMPLEMENTING A PRINTER MAPPING LOGIN SCRIPT ... 35

SERVER SIDE CONFIGURATION... 35

LOGIN SCRIPT SAMPLE... 36

APPENDIX F: PRINTING OPTIMIZATION ... 39

MANAGE THE SPOOL FILE... 39

CLIENT UI OPTIMIZATION... 39

(5)

CLTPRINT... 41

CHANGE CLIENT /DEFAULT... 41

CHANGE CLIENT /DEFAULT_PRINTERS... 41

APPENDIX H: MANAGING PRINT DRIVERS ... 42

PRINT DRIVERS – INSTALLATION AND CONFIGURATION FOR A NEW METAFRAME SERVER... 42

TRUSTED PRINT SOURCE– IMPLEMENTATION STEPS... 42

APPENDIX I: POLICY SETTINGS FOR PRINTERS ... 44

APPENDIX J: IMPORTING A NETWORK PRINT SERVER ... 45

APPENDIX K: ACTIVE DIRECTORY INTEGRATION... 47

(6)

Overview

The purpose of this white paper is to serve as a reference to provide a thorough understanding of printing solutions

in a MetaFrame environment. By using the information provided in this document, an optimum printing solution can

be applied to virtually any MetaFrame environment. Planning and implementing a printing architecture is one of the

most important and often overlooked aspects of a network infrastructure.

(7)

Printing Basics

The purpose of this section is to provide a general concept of printing fundamentals like how print architectures are

configured and what components are required for an implementation.

Printing Vocabulary

The following is a list of general printing terms that are used in the industry and are used throughout this document.

Printer: A device that puts text or images on paper or other media. A printer can be connected to a server, a client computer, or directly to the network.

• • •

• • •

Print Server: A computer on the network that is dedicated to managing the printers on the network. The print server can be any computer on the network.

Print Spooler: Computer software that accepts a document sent to a printer by the user, then stores it on disk or in memory until the printer is ready for it. This collection of dll’s receives, processes, schedules, and distributes documents for printing.

Print Queue: A group of documents waiting to be printed.

Print Driver: A program designed to allow other programs to work with a particular printer without concerning themselves with the specifics of the printer’s hardware and internal language.

LPR/LPD (Line Printer Protocol): A commonly used protocol in the enterprise environments and on the Internet for communication between printer daemons on both clients and servers. LPR is an older protocol with a limited set of features. LPR does not support encryption and does not have features available to control bandwidth.

IPP (Internet Printing Protocol): Installing Microsoft Internet Information Services (IIS) automatically enables Internet printing in Windows 2000. All printers that are shared on a Windows 2000-based server are automatically made accessible when using the Internet Printer Protocol (IPP) printing protocol. Clients that are running Microsoft Internet Explorer 4.01 and later with IPP printing support can print to the Internet printers.

Overviews of Printing Architectures

(8)

Network/IP Printing

Network printing can be configured two ways, the difference being the location of the print server. In the first scenario, the print server is located on the remote (client) LAN as depicted in Figure 2.1.

Datacenter ethernet backbone Client Ethernet LAN

Client Desktop PC

Internet

Laser printer

MetaFrame Server

Print Server

1. Client sends a print request to the MetaFrame server via ICA

2. MetaFrame Server sends print job over the internet to Print Server

3. Print Server spools print job and sends to printer

Windows Based Terminal

Figure 2.1- Remote (WAN) Printing

In this scenario, the client requests a print job from the terminal server within an ICA session. The terminal server then sends the job to the print server across the WAN to the print server. The print server then spools the job and sends it to the printer for printing.

This configuration is ideal for cases in which users will need to print from their ICA session and also from a local desktop application. By placing the print servers on the remote LAN, print jobs will not have to unnecessarily traverse the WAN when users request printing from a local application.

(9)

In the second method of network printing, the print server is configured on the MetaFrame LAN’s main datacenter as depicted in Figure 2.2.

Datacenter ethernet backbone Client Ethernet LAN

Client Desktop PC

Internet

Laser printer

MetaFrame Server

Print Server 1. Client sends a print request to the

MetaFrame server via ICA

3. Print Server Spools print job and sends to the printer over the internet Windows Based Terminal

2. MetaFrame server sends print job to Print Server

Figure 2.2- Local (LAN) Printing

In this setup, the client requests a print job from the terminal server within an ICA session. The terminal server then sends the job to the print server across the local LAN to the print server. The print server then spools the job and sends it to the printer across the WAN for printing.

This is the standard configuration for cases in which users will print strictly from their ICA sessions and both the clients and servers exist on the same flat network. In this scenario, local printing is possible, but highly inefficient, as the print jobs will have to traverse the WAN twice thus consuming valuable bandwidth.

Printer Auto-Creation

Client printer auto-creation is a feature of MetaFrame that enables a users’ locally attached printers and network printers to be accessible from within their ICA session as depicted in Figure 2.3.

Datacenter ethernet backbone Client Ethernet LAN

Client Desktop PC

Internet

Laser printer

MetaFrame Server

Print Server

1. Client sends a print request to the MetaFrame server via ICA

Windows Based Terminal Laser printer

2. MetaFrame sends job across internet to server via ICA.

3. Print Server sends job to printer.

(10)

requires an additional 150kbit of bandwidth per session. Therefore, it is critical that the available bandwidth be monitored and managed across the WAN to maintain good network performance.

It should be noted that MetaFrame XP contains features and tools that allow administrators to monitor and manage print traffic.

Local Printing

Local Printing is the sharing of printers from a MetaFrame server farm on which an ICA session is connected. This can be either the server that the client is connected or another MetaFrame server within the farm.

Local Printing is a painless way to configure and manage printers for all users of a MetaFrame farm. Printers are configured on a local port (TCP/IP, COM, or LPT) of a MetaFrame server within a farm. These printers can then be assigned to specific MetaFrame users, eliminating other methods of management necessary (login scripts, users manually adding printers, etc.). This Local Printing Architecture can also minimize or eliminate the need for client printer auto-creation. Once a printer is assigned to a user, the printer is available from all ICA sessions that a user creates.

(11)

Network/IP Printing Architecture

The most commonly used method of printing in enterprise and ASP infrastructures is network/ IP printing. As

discussed previously in this document, there are two options for network printing, Remote (WAN) and Local (LAN)

printing. The difference is merely on the placement of the print servers; Remote (WAN) configuration places the

print server on the client side of the WAN (Figure 3.2), and Local (LAN) configuration places the print server on the

MetaFrame server side of the WAN (Figure 3.1). It is important to note that the exact same practices and

techniques can be applied to both configurations of remote printing. Again, the only difference is that the print

server in a remote setup may be configured across a WAN from the MetaFrame server. For implementation steps

of the Network/IP Printing Architecture, refer to

Appendix A: Implementation Steps for Network/IP Printing

.

Local (LAN) Printing

In Figure 3.1, each component in the local (LAN) printing configuration for Network/IP printing is shown.

MetaFrame XP Server Client

Print Server Slow Link

Server-side LAN

1 2

Network Attached Printer

3

Client-side LAN

Figure 3.1 – Local (LAN) Printing The following steps explain the above diagram:

1. The client clicks the print button from the application being used on the MetaFrame XP server. Mouse clicks are sent from the client workstation to the MetaFrame XP server.

2. The server responds to the print request by creating a spool file and sending it to the print server for printing. The spooled file can range in size from a few hundred Kilobytes to well over a few Megabytes.

3. The network print server sends the spooled file to the network-attached printer. The print job then prints.

Remote (WAN) Printing

(12)

MetaFrame XP Server Client

Print Server Slow Link

Server-side LAN 1

Network Attached Printer

3

2

Client-side LAN

Figure 3.2 – Remote (WAN) Printing The following steps explain the above diagram:

1. The client clicks the print button from the application being used on the MetaFrame XPe server. Mouse clicks are sent from the client workstation to the MetaFrame XPe server.

2. The server responds to the print request by creating a spool file and sending it across the Slow Link (WAN) to the print server for printing. The spooled file can range in size from a few hundred Kilobytes to well over a few Megabytes.

3.

The network print server sends the spooled file within the client-side LAN to the network-attached printer. The print job then prints.

Server Side Configuration and Considerations

The first step in configuring a data center for print services is to determine the location of the print servers and what

operating system will support them. It is best to locate the print servers in close proximity to the MetaFrame servers in order to minimize the distance and print traffic generated when print jobs are sent to print servers. For the purposes of this document it is assumed that Windows 2000 Server or Windows 2000 Advanced Server is the OS of choice.

Refer to Appendix D: Creating a Network Print Server for instructions on creating a network print server.

Client Side Configuration and Considerations

Once the print servers and printers are configured into the infrastructure, it is then necessary to determine how users will add printers to their MetaFrame sessions.

There are three options:

Importing Network Print Servers: This is a preferred method, as it requires no user interaction. Print servers can be imported into a MetaFrame farm via the Citrix Management Console (CMC), and the printers can be assigned to users and groups.

Connect printers via login script: This is a preferred option, since no user interaction is required. A login script will need to be created in which a predetermined list of printers will be mapped upon user login.

Users connect printers manually: When users login to the system and require a printer, they will have to manually add the printer. Within environments containing published applications only, the Printers Folder can be published. Users of desktop sessions can use the Add Printer wizard to manually connect to printers.

(13)

Importing Network Print Servers

The Network/IP Printing Architecture allows the importation of printers from multiple print servers in the environment. The administrator can then assign these imported network printers to the appropriate users and groups from within the CMC. The printer(s) assigned to a user will be automatically available within the ICA sessions that a user creates within the MetaFrame farm.

To properly configure an imported printer for groups/users, refer to Appendix J: Importing a Network Print Server.

Note - Active Directory can also be used instead of importing a network print server into the farm. In Active Directory, Group Policies can be configured such that printers are automatically provided to users within particular organizational units (OUs) or domains. These printers are available from within the users’ ICA sessions.

Automatic Printer Mapping/Login Script Design

Manually mapping a client printer is not always the best solution for using printers from an ICA session. Users may lack the knowledge required to complete the task every time they are in an ICA session. Also, users connecting to published applications won’t have access to the Printers folder, and therefore will be unable to add printers, unless of course, they are using an application that is integrated with printer mapping features like the Microsoft Office suite.

Refer to Appendix E: Implementing a Printer Mapping Login Script for instructions on setting up a printer mapping login script and to view a sample script.

Connect Printers Manually

Policy settings may prevent the user from manually adding a printer. There is also a disadvantage in the amount of user interaction that is required to map a printer. Generally speaking, printing and printer mapping generates several issues for less experienced users that in turn will take valuable time away from support staff.

Refer to 9.2 Client Side Configuration for implementation steps required by the user to connect printers manually within an ICA session.

(14)

Advantages/Risks

The following are advantages and risks of network/IP printing architecture.

Advantages

Network traffic is minimized because all print traffic is between the MetaFrame XPe server, the print server, and the network-attached printer as opposed to the traffic traveling back to the client.

Administration of printer drivers is minimized in compared to the increased driver management effort required for the printer auto-creation method.

For Local LAN only: Print traffic and distance minimized due to close proximity of MetaFrame and print server

Risks

(15)

Printer Auto-Creation Architecture

Client printer mapping allows a remote application running on the Citrix server to access printers attached to the

client computer. The client mappings appear as another network type (Client Network) to Print Manager. ICA

Client printers are automatically mapped when a user logs on and automatically deleted when the user logs off if

they do not contain any print jobs. If print jobs are present, the printer (and its associated jobs) is retained.

Auto-Creation Architecture

There are two different ways Client Printers are mapped:

1. LPT Port Print Mapping (DOS 16/32, WinCE, Windows 16/32)

2. Client Spooler Mapping (Windows 16/32, UNIX, Macintosh, WEB - IE and NS, Java with javax.comm.) Client Printer Mapping is currently available on all Clients except the following:

DOS16 (only LPT Port Mapping) •

• •

Java (Not supported on platforms that have no implementation of javax.comm library) Epoc (PSION, Ericsson, etc...)

Auto-creation is a process that occurs during a user’s logon. The MetaFrame server sends API calls to the client looking for printer specific information such as which port the printer is connected to, what driver is being used, and what properties have been set for that printer.

The following flowchart illustrates the high-level steps involved during auto-creation of printers.

Initiate ICA Session

User Rights?

Exact Driver

Match? TranslationMatch? Create PrinterShare AdditionalPrinter? Yes

No Yes

Yes

No

Yes

Complete No

No

2 1

3 4 5 6 7

(16)

Step Description

1. Initiate ICA Session When a user logs in, a series of programs are run, including:

• Login Scripts

• Client Drive Mapping (if enabled) • Printer Auto-Creation

• Application Compatibility Scripts This flowchart details the steps associated with Printer Auto-creation.

2. User Rights? MetaFrame determines if the user has the rights

to “auto-create” a printer. These rights are set in the following places:

• Citrix Connection Configuration – Connection Client Settings: Do not Disable Windows Client Printer Mapping. • For NT4, User Manager for Domains,

User Properties->Config Button->Connect Client Printers at Logon checkbox.

• For W2K, Active Directory Users and Computers – User Properties – Environment Tab: Do Connect Client Drives at Logon and Default to Main Client Printer.

If the current user does not have the above rights, then no client printers will be mapped.

3. Exact Driver Match? Each user’s print drivers are matched against the printer drivers that are installed on the MetaFrame server. If an exact match for the driver description is found, then the client printer is mapped. Note that additional spaces and other subtle differences in driver description would cause this check to fail. These differences can occur between the same printer drivers on different operating systems.

4. Translation Match? Printer driver descriptions are then matched against the wtsuprn.inf file found in the System32 directory, if it exists.

(17)

Step Description

5. Create Printer Share. The printer share for locally attached printers is created with the format of:

Client Name#Client Printer Name

Network attached printers are created with the format of:

Client Name#\\PrintServer\ShareName

For example, on a client computer named CLARK, with a locally attached printer name of

SUPERMAN, a successfully created printer share on the MetaFrame server would be named: CLARK#SUPERMAN

While it’s network attached printer on \\PRNTSRV_01\LOIS would be named: CLARK#\\PRNTSRV_01\LOIS

6. Additional Printer? Steps 3 – 5 are repeated for each client printer, if Citrix Connection Configuration is set to connect all printers.

7. Complete Printer Auto-creation is complete and the

(18)

Print Driver Management

Print drivers are a necessary component on a MetaFrame server for users to be able to print to local or network printers that have been auto-created. This is an important point if the design calls for MetaFrame auto-creation, as the MetaFrame servers will need to support all of the printers connected to the users’ terminal. Print drivers should be considered a component of the base operating system and need to be installed by an administrator prior to user printing, since users typically lack sufficient privileges to install their own drivers. Print drivers have been notorious for causing many problems with servers often resulting in STOP errors and blue screens. This is why exhaustive testing of the installed print drivers is highly recommended.

On Windows 2000 Servers the directory that stores the installed print drivers is: %SystemRoot%\system32\spool\drivers\

On Windows NT Servers the directory that stores the installed print drivers is: %SystemRoot%\system32\spool\drivers\w32x86\

On both Windows NT and 2000 servers, the registry key that contains the list of connected printers and their configurations is:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

Citrix Universal Print Driver (UPD)

With MetaFrame XP Feature Release 1, the Citrix Universal Print Driver is included to avoid problems with driver maintenance and other client printing issues in diverse environments. This driver, listed as the Citrix PCL4 Universal Driver, can be configured to suit the particular environment.

Refer to Appendix B: Implementation Steps for Auto-Creation Environment for implementation steps for managing print drivers.

Note - The UPD does not support special printing features such as color and double-sided duplex printing.

Printer Bandwidth Management

Print Bandwidth Limits. When using auto-created printers, print jobs have the tendency to use bandwidth up to the amount available for a given ICA connection. This can cause problems with the user’s ICA session, especially over slow connection links. The user could experience slow screen refresh or even loss of connection. MetaFrame XP has a feature that configures the maximum amount of bandwidth that can be utilized by the print job from an auto-created printer. The following list identifies instances when limiting the bandwidth might prove beneficial:

Remote dial-in connections •

• •

Connecting over a slow speed/high latency Wide Area Network link Any other situation where print jobs are affecting user sessions

There are many factors that affect the configuration for printer bandwidth limits, including bandwidth availability, size of the connection link, and the number of concurrent users. C&W should use the following Bandwidth Limit formula as a guideline to help determine the setting.

ers

ncurrentUs

NumberofCo

ers

ncurrentUs

NumberofCo

K

ection

SizeofConn

imit

BandwidthL

=

(

25

)(

)

SizeofConnection. This value is the bandwidth size of the connection link through which the Citrix sessions are running through

.

(19)

25K. This value is 25Kbps that represents the average bandwidth utilization of a single Citrix ICA session. To illustrate the above formula with an example:

1. A user requires remote access to run an application on the MetaFrame XP environment.

2. From the remote location, the user has setup a T1 (1.544Mb or 1580Kb) connection to the data center. 3. Approximately 40 concurrent users are expected through that link.

4. The Print Bandwidth Limit should be set to

40

)

40

)(

25

(

1580

Kb

Kb

or 15Kb.

For scenarios where the Print Bandwidth Limit is a negative number, the Print Bandwidth Limit should be set to 5Kb. The following are limitations to the above formula:

• •

The formula assumes that the number of concurrent users over the connection link is constant. In scenarios where the number of concurrent users varies, the Print Bandwidth Limit cannot be accurately determined. The Print Bandwidth Limit setting is configured per MetaFrame XP server, which means that there can only be one setting on the server even though users from different connection links can be logged into the server. Important Note - The 25Kb average for a Citrix session assumes that users are not running multimedia applications like streaming video and audio, graphic intensive applications, and frequently copying files to/from the servers to the local drives as these activities can significantly increase the average utilization. The above scenario also assumes that no other network traffic traverses the link. If there are other applications, estimate the amount of bandwidth remaining after that traffic has been accounted for and that will be the available bandwidth.

ICA Client Printer Configuration utility

The ICA Client Printer Configuration (CPC) utility, found under MetaFrame Tools/ICA Client Printer Configuration utility allows users to:

Create and connect to ICA Client printers.

(20)

Figure 4.1 – ICA Client Printer Configuration

Thin Clients

In environments that contain strictly Windows Based Terminals (WBTs) that cannot attach to local network printers that do have serial ports or local printer connections, sharing printers presents a small challenge. Because the WBT can not browse it’s local network for a network printer to which to connect, the only way of finding a shared printer is through an ICA session.

Refer to Thin Clients section of Appendix B in for configuring a printer for thin clients.

Advantages/Risks of Auto-Created Printer Environment

The following are advantages and risks of the Auto-Created Printer Environment: Advantages

• “Easy”, the same printers available to user’s local machine are automatically available in ICA session. • With Citrix UPD along with MetaFrame XP driver management features, driver incompatibility issues are

minimized. Risks

• Increased management of printer drivers and driver replication

(21)

Local Printing Architecture

Local Printing is the sharing of printers from a MetaFrame server within the same farm as an ICA session.

Description

Local Printing is a painless way to configure and manage printers for all users of a MetaFrame farm. Printers are configured on a local port (TCP/IP, COM, or LPT) of a MetaFrame server within the farm. From within the CMC, the local MetaFrame printer can be assigned to specific groups and users, eliminating other methods of management necessary (login scripts, users manually adding printers, etc.). This Local Printing Architecture can also minimize or eliminate the need for client printer auto-creation. Once a printer is assigned to a user, the printer is available from within all ICA sessions that the user creates.

It is important to note that the Auto-Creation assignment settings specified within the CMC will be used for users creating an ICA session to the farm, except when the user is connecting to the specific MetaFrame server containing the local printer. When a user creates a session to the specific MetaFrame server containing the local printer, the security settings specified within the Control Panel of the MetaFrame server are used. There is also a drawback in the additional overhead on the MetaFrame server acting as the print. However, two things can be configured to account for the additional overhead of printing:

Dedicated MetaFrame Print Server: by configuring a dedicated MetaFrame print server both disadvantages listed previously can be eliminated. A dedicated MetaFrame print server has MetaFrame XP installed and is part of the farm, but this server does not accept ICA connections.

Load Evaluator Modification: if used in a Load Managed environment, the Load Evaluators can be configured to account for the increased overhead of printing for the MetaFrame print server. Also, separate Load

Evaluators can be assigned for the MetaFrame print server, such that each user connection has a greater impact on the MetaFrame print server in relation to each user connection to other servers of the farm.

For the local MetaFrame printer, a number of options are available through the CMC regarding this printer. Navigate to the Printer Management Printers node and R-click on the particular local printer. The following options will appear:

Replicate Drivers – replicates the driver of the shared printer to other MetaFrame servers within the farm. • Auto-Creation –assigns this printer to users for use within an ICA session. This “auto-creation” setting

defines the user accounts for which a printer is automatically available. When the user makes an ICA connection to the farm, all printers assigned to the user will be available as shared network printers.

Note - It is important to note that even though this option is titled “Auto-Creation”, you are not configuring client auto-created printers. This option titled “Auto-Creation” allows you to assign users of which the selected printer will show as a shared printer within the assigned user’s session.

Copy Auto-Creation Settings – The user assignment settings of a particular local or imported printer can be copied to additional printers.

Client Printers – for ICA DOS and WinCE clients only. This option is used to define the client printers that are automatically available to specific ICA DOS and WinCE Clients each time a user logs on from that particular client.

Refer to Appendix C: Implementation Steps for Local MetaFrame Printing for instructions on the implementation of local printing.

(22)

Advantages/Risks

Advantages

• Simplification of printer management.

• Network traffic is minimized – no print traffic travels back to client Risks

(23)

Summary of Printing Architectures

The following table provides a summary for quick reference for printing architectures:

Architecture Details Advantages Risks Suited For: Optimizations

Network/IP Printing - Local (LAN) Printing

Network/IP Printing architecture where Print server is on MF side of LAN

• Print traffic and distance minimized due to close proximity of MF and print server

• Network traffic is minimized – no print traffic travels back to client

• No driver management necessary for MF

Does not support locally attached printers

Most MetaFrame environments. If necessary auto-creation of client printers can be configured in addition to Network/IP Printing.

• Disable printer beeps

• Disable printer pop-up message

• Manage the spool file - move the spool file to non-system drive

• Manage client printer pipes – limit number of jobs that can be spooled simultaneously

• Disable logging of print jobs to the System Log

Network/IP Printing - Remote (WAN) Printing Network/IP Printing architecture where Print Server is on client side of WAN

• Network traffic is minimized – no print traffic travels back to client

• No driver management necessary for MF

Does not support locally attached printers

MetaFrame environments where clients must print to network printers from both their local desktop and through ICA sessions. Auto-creation of client printers can be configured in addition.

• Disable printer beeps

• Disable printer pop-up message

• Manage the spool file - move the spool file to non-system drive

• Manage client printer pipes – limit number of jobs that can be spooled simultaneously

• Disable logging of print jobs to the System Log

Printer Auto-Creation Architecture Local client printers and network printers for the client are created automatically within and ICA session

Locally attached and mapped network printers on the client are automatically created

• Driver Management is necessary to ensure compatibility

• Bandwidth Utilization of print job over network - 1 hop for locally attached printers; 2 hops for locally mapped network printers.

• Large print jobs – potential negative impact on

performance of ICA session.

Environment that necessitates printing from local or network client printers

• Use of FR1 Universal Print Driver (UPD) to minimize driver issues

• Limit Printer Bandwidth so that print jobs within the ICA session do not utilize all bandwidth of the ICA session

(24)

Architecture Details Advantages Risks Suited For: Optimizations

Local Printing Architecture

MetaFrame server within the farm acts as print server

• • • • • • • •

Simplification of printer management. Network traffic is minimized – no print traffic travels back to client

Additional Overhead for MF server in print server operations

Smaller environments where a limitation of resources does not allow for an additional (non-MF) print server.

Create dedicated MetaFrame print server

Assign modified Load Evaluators for the MF print server to account for increased overhead of printing

Disable printer pop-up message

(25)

Printing Architecture Scenarios

The following four printing architecture scenarios are provided to aid in evaluation and assessment of the different Printing Architectures. While each and every environment is different, these scenarios serve to provide a general overview of the different environments and architectures found in the “real world”.

Scenario 1

Current Environment: Company ABC is implementing an enterprise MetaFrame XP Feature Release 1 environment, containing a single AD domain containing sub-domains and multiple sites around the country. These sites are connected over a slow WAN link, and all users will need printing capabilities. The users do not have any locally attached printers (via COM or LPT port) configured.

Printing Solution: The Network/IP Printing architecture will be implemented, and Auto-Creation of client printers will be disabled.

Group Policies can be implemented for each site, sub-domain, or OU to provide the proper printers to each user. Alternative methods are to use Login Scripts or the Importation of Network printers. If using login scripts, different versions of the login script will be used for each site, sub-domain or OU in order to assign printers to users within their vicinity.

Auto-Creation of client printers will be disabled in order to minimize the bandwidth used during printing across the WAN link. With auto-created printers, the print job is sent back to the client, creating additional bandwidth over the WAN.

Scenario 2

Current Environment: Company ABC is implementing a MetaFrame XP Feature Release 1 environment to a 300 users within a campus environment. This environment contains 3 buildings all within the same local vicinity. All users belong to a single AD domain. Some users use locally attached printers (non-network) for color printing.

Printing Solution: The Network/IP Printing architecture will be used, and Auto-Creation of client printers will be available for local printing.

For Network/IP Printing, Group policies can be used to assign printers to groups/users such that printers within the user’s vicinity are available. As an alternative, Importation of Network printers may be used to assign printers to users and groups. Auto-Creation of client printers will be configured for Local (non-network) client printers only. Driver management will need to occur within the MetaFrame environment. Since color printing to these local printers will occur, the FR1 Universal Print Driver is not applicable. All drivers will need to be installed and replicated across the servers of the farm. Driver mapping should occur for any client/server drivers that are known to have different names. Bandwidth limitation for the auto-created printers should also be implemented.

(26)

Scenario 3

Current Environment: Company ABC is a company with approximately 60 users within a single NT 4.0 domain that will access a MetaFrame XP FR1 environment. Due to budget constraints, server resources are somewhat limited. There is no current need for users to use client printers.

Printing Solution: The MetaFrame Local Printing Architecture will be used due to the limitation of server resources. Auto-Creation of client printers will be disabled.

Network printers will be added to a MetaFrame server, and users will be assigned to the necessary printers. This

assignment will give users access to the network printers within their vicinity. Driver replication to all MetaFrame servers will need to occur.

Since there is no current need, Auto-Creation of client printers will be disabled in order to minimize the bandwidth used during printing across the WAN link. With auto-created printers, the print job is sent back to the client, creating additional bandwidth over the network.

Scenario 4

Current Environment: Company ABC is implementing an enterprise MetaFrame XP FR1 environment to users throughout the United States. There are multiple offices throughout the country that will be accessing the MetaFrame environment. A single AD domain containing sub-domains exists for this environment. Many users will be accessing the environment through a dial-up connection from their homes. A select number of users will need to use advanced printing features such as color. A majority of users, including all home users, do not need to utilize any advanced printing features.

Printing Solution: The Network/IP Printing architecture will be used, and Auto-Creation of client printers will be available for the remote users connecting via dial-up.

(27)

Alternative Printing Solutions

There are several third party products that make the management and optimization of printing solutions easier.

Third Party Universal Print Drivers

MetaFrame XP Feature Release 1 includes the Citrix PCL Universal Driver to minimize issues with printer driver mapping for auto-created printers. For more detail on the Citrix UPD, refer to the Citrix Universal Printer Driver section of Appendix B. However, many third party universal print drivers are available to provide enhancements to the printing environment. For every unique printer device that is on the market, a specific print driver is required for it. Because there are literally thousands of printers on the market, managing and testing all of their print drivers can be an extremely challenging task. Historically, print drivers have been infamous in blue screening servers and causing certain applications to crash. There are also documented cases of print drivers made by certain manufacturers that cannot be installed on the same server. This poses an even bigger issue for ASPs who will undoubtedly be required to support just about any printer that their customers require. Besides limiting the number of supported printers offered by the ASP there are some things they can do to alleviate the problem.

(28)

Uniprint

UniPrint is a printing program designed for Citrix MetaFrame running on Windows NT Terminal Server 4.0 or Windows 2000™ Server. UniPrint creates a universal printer driver on the host server, enabling Citrix MetaFrame users to print to any printer. UniPrint is not application sensitive and can print from any application to any printer. UniPrint supports Server Based Computing printing by enabling a user to print to any printing device while connected to a host server without the need of having that device’s driver installed on the host-server and without having to consider the client device or bandwidth available to it.

Additionally, using UniPrint substantially decreases the size of the printer file. For example, a 15 page Word 2000 document printed to an Epson Ink Jet printer using the Epson printer driver has a file size of 6,287 kb. The same document sent to the same printer using UniPrint's universal printer driver has a file size of just 68 kb.

UniPrint installs a ‘universal printer driver’ on the host server. This universal printer driver is designed to work with Windows NT Terminal Server or Windows 2000 Server, running Citrix MetaFrame. There are no pre-installation incompatibility issues or post-installation stability issues involved. On the client side, a Citrix client, UniPrint client and Adobe Acrobat Reader 4.0 or higher is required. When a client, connected to a MetaFrame server submits a printing request, the server processes the request by sending it through the UniPrint software that creates a compressed, transmittable printer file (pdf format) which is sent to the client for printing.

For more information, reference http://www.futurelink.net/.

ThinPrint

ThinPrint is a product that enables an administrator to limit the bandwidth allocated for print jobs. Additionally, ThinPrint has features that exist on the client side that allow the user to further restrict bandwidths using the ThinPrint Client Manager.

ThinPrint Installation (Server)

The ThinPrint Server component is a print monitor that executes compression and bandwidth restriction for printjobs and sends the modified data to the client over a new printer port, the ThinPrint Port.

1. Make sure that system variables TMP and TEMP are set and refer to a directory to which all users have read and write access. If these variables are not set, they should first be set and the computer restarted before beginning installation.

2. Open the panel for installation of a new print monitor from "Printers/Server Properties" and install a new monitor.

3. Select the file "monitor.inf" which you've got from ThinPrint. 4. Double click ThinPrint Port to begin installation.

5. Once License Manager opens, enter under "License/New" the license key included with the software. License Manager uses this number to generate a registration key which you can use to request an activation key from our website at http://www.thinprint.com/activation.html. Until the software is permanently unlocked by entering an activation key in License Manager, the use of ThinPrint is limited to 30 days.

6. Close License Manager.

(29)

ThinPrint Server-Configuration:

Follow these steps to configure the ThinPrint software after installation. 1. Run thinportcfg.exe

2. Create a ThinPrint port 3. Configure this port:

Port Configuration

Port name: Name of the port

Bandwidth (bits/sec): Client Control:

Determines maximum bandwidth allocation. If this box is checked, each user can further reduce bandwidth settings. Connection Retries: If the ThinPrint Server has problems connecting to the ThinPrint Client, this value can be set higher. Net Send: This must generally be enabled for a user to receive error messages.

Protocols:

TCP/IP, ICA, LPD: Selection of one of three fields determines the kind of communication ThinPrint will use to connect with the client.

Portnumber: This contains the port number from which the ThinPrint Client receives data. The port number here must be identical to the one on the ThinPrint Client.

Stream Compression:

If this option is enabled, print data is compressed and transmitted in packets. The packets can be individually unpacked and sent to the printer. This minimizes resource requirements and is therefore very practical for thin clients.

Package Size (Bytes): Client Control:

The larger the packets, the better the compression. Large packets require more capacity on the client, though. If this box is checked, users can further reduce package size.

Name of Printer Queue: When printing with LPD, ThinPrint needs the name of the printer queue instead of the port number to communicate with the client.

LPD-Filter: No Compression:

(30)

ThinPrint Installation (Client)

ThinPrint's Client component is a background Windows program which runs and receives data from the ThinPrint Server. For Win16 and Win32 OS you have an install routine to install the client. The Linux and CE Client need to be copied to the right place in the client-OS.

Download the actual clients for free at http://www.thinprint.com/download.html.

Client-Configuration

The following table lists the different configurations that can be set on the client machine:

Current Printer: A printjob is sent to the current printer if no printer ID is given in printer name.

Default at Server: Selecting this option names this printer as standard printer on the server.

Printers Assignment: All printers available to the Client are listed here with their IDs. The boxes next to the printers are for TPAutoMapping.

Transmission Parameter:

Each user can change the transmission parameter, as long as changes are allowed on the server and the value is lower than that on the server.

Current Port:

ThinPrint Client receives communication from the ThinPrint Server over this port. It is important that the number is the same on both Client and Server.

Administrator Only: Changes can only be made by administrators.

Emergent OnLine Universal Print Driver

Emergent OnLine (EOL) recently announced a new product to help solve the issue of multiple print drivers. Currently there is not much information about EOL’s Universal Printer, however it does appear to work similarly to UniPrint as discussed in section 8.2. Designed to work under Windows NT 4.0 TSE, Windows 2000, and Citrix MetaFrame, EOL’s Universal Printer is a driver-independent printing solution that supports both ICA and RDP 5.0 Win32 clients. EOL Universal Printer creates a PDF-compatible printer on the Terminal Server, enabling Terminal Server and Citrix MetaFrame users to print to any printer. Furthermore, EOL Universal Printer offers users the option of e-mailing the print job directly to their client machines.

(31)

Appendix A: Implementation Steps for Network/IP Printing

Below is a set of instructions for both Server Side configuration and Client Side configurations:

Server Side Configuration

A network print server is necessary for implementing the Network/IP Printing architecture. A network print server is a computer on the network that is dedicated to managing the printers on the network. For instruction on how to add/publish printers on a print server, refer to the Adding/Publishing a Printer section of Appendix D.

In an environment where the clients reside across a slow WAN-link from the MetaFrame servers, the network printer can be configured to reside either on the client side of the WAN or the server side of the WAN. After the network printer is

configured, the printers must be made available to the MetaFrame users. There are two methods for the making the network printers available to the users.

1. Importing a Network Print Server: Network Print Servers can be imported to the MetaFrame farm. Refer to

Appendix J: Importing a Network Print Server for instructions on importing a network printer.

2. Using a Login Script: A login script can be used to connect users to pre-determined network printers upon login. Refer to Appendix E: Implementing a Printer Mapping Login Script to view an example of a login script designed to connect printers to users.

Client Side Configuration

If users are running a desktop session, a user’s printers can be manually mapped once an ICA session has been established. In order to map client printers, the following steps need to be performed by the user:

1. Run the ICA Client, establish an ICA desktop session and authenticate to the Citrix server. Once connected, navigate to Printers under Settings on the MetaFrame server’s Start Menu.

2. Select Add Printer. 3. Select Network Printer.

4. Browse for the network printer, and click Microsoft Windows Network or Client depending on where the printer to be connected is physically located.

Note - The client printer is displayed as clientname#printername where clientname is the name given when the ICA client was installed, and printername is the name given when the printer was installed.

5. Select the client printer to map. If the proper printer driver is already installed on the MetaFrame server, then the printer will be added to the ICA session. If a suitable driver is not installed, a prompt stating this will appear and the driver will need to be installed. This process will need to be repeated for each printer that the user will need during the ICA session.

(32)

Appendix B: Implementation Steps for Auto-

Creation Environment

Configuring Auto-Creation

In order to auto-create client printers, the following steps need to be performed:

1. First, all server side settings must be configured to allow printer auto-creation. These settings can be changed in the following two utilities.

a. Citrix Connection Configuration. This utility allows for the configuration of printer mappings for all users connecting through a particular protocol. To edit these settings, double click on the desired protocol and then select the Client Settings button. The following client settings window will appear where the Connect Client Printers at Logon checkbox can be selected to auto-create the client’s printers.

Figure 10.1: Citrix Connection Configuration

(33)

Figure 10.2: Active Directory - User Properties

2. The corresponding printer driver must be installed on the MetaFrame server. Printer drivers are one of the key elements of auto-creation. The driver names must match exactly otherwise the printers will not auto-create. With Windows NT/2000 Workstation as the client machines, this is usually not an issue. Windows NT/2000 Workstation and Windows Terminal Server both use standard NT driver naming conventions. The issue is more common with Windows 9x machines. The driver names will occasionally differ slightly between Windows NT/2000 and Windows 9x.

For example, a printer driver on a Windows 95 client machine may be named HP LaserJet 4/4MP. When this same printer driver is installed on a Windows Terminal Server the driver name may appear as HP LaserJet 4. Absence of the “/4MP” portion of the driver name will cause this printer not to be auto-created.

To overcome this, client drivers can be mapped to server drivers from within the CMC. a. Open the CMC and log on as a Citrix administrator.

(34)

There are also two files that are used to modify the driver mappings, WTSUPRN.INF and WTSPRNT.INF.

However, changes made directly to these files are not recommended. Modifications made to the

WTSUPRN.INF after install override changes made to using the CMC, but are not reflected in the CMC. Edits made to the WTSPRNT.INF after installation are overwritten by changes made using the console.

In MetaFrame 1.8, modification of the WTSUPRN.INF file is the only method for mapping drivers. A sample wtsuprn.txt file is shown below.

(35)

Citrix Universal Printer Driver

The Universal Print Driver can minimize or even eliminate driver mapping and management. See Figure 10.4 below for the available settings for the UPD.

Figure 10.4 Printer Management Properties Further detail on each setting:

Auto-Create Client Printer Connections at Login: Selected by Default. When selected, all local client printers auto-created. Otherwise, manual creation necessary.

(36)

All Client Printers: creates all client printers configured on the client machine for the user.

Use connections settings for each printer: selected by default. Uses settings as specified in the Citrix Connection Configuration utility.

Printer Drivers:

Native Drivers Only: all client printers use their native drivers only. Universal Driver Only: All client printing is done using UPD

Both Universal and Native Drivers: 2 versions of each client printer are auto-created. The user can choose which version to use. This is useful if users need to access special printer features occasionally. Universal Driver Only if Native Unavailable: selected by default. Provides Fault Tolerance. Printers are auto-created with the native driver, if available. If the native driver is unavailable, the UPD is used.

Thin Clients

Following these steps, a permanent (server-side) print queue targeting a specific client printer that is visible to other users will be created. Unless there is an active ICA session from the client in question, spooled jobs will be queued until the connection is established.

1. Log on from the device (WBT, PC, LapTop) with the local/network printer attached and connected. 2. In the ICA session, open the Printers folder and verify that the printer was auto-created. If not, create it

manually by running the Add Printer wizard, selecting network printer, and choosing the appropriate client device.

3. Open the Printer Properties box for the printer created in Step 2.

4. Remove the auto-created printer text from the comment field. This prevents the printer from being deleted at logoff.

5. From the Security tab, add permissions for all users and groups that you want to allow to see/manipulate the client printer.

Note - You must have administrator privileges to accomplish this.

6. Save the printer settings and close the Properties box.

(37)

Appendix C: Implementation Steps for Local MetaFrame

Printing

To implement a Local MetaFrame Printing Architecture:

1. Create a local printer on a MetaFrame server within the farm, either via a local COM or LPT port or through a TCP/IP port. Refer to Appendix D: Creating a Network Print Server for detailed instruction. Share this printer.

2. If users are to be creating ICA sessions to this MetaFrame server containing the printer, then add only those users and groups that will be using this printer in the Security tab of the printer properties. When users log into to the server containing the local printer, the security (sharing) specified in the Control Panel/Printers will be used.

a. On the MetaFrame server, navigate to Control Panel Printers. b. Right-click on the printer and select Properties

c. Select the Security tab.

d. Remove the Everyone group, and add all users/groups that will be using this printer through an ICA session. e. Click OK.

Note - The Control Panel security settings will not need to be made on the printer(s) of the MetaFrame server if configured as a dedicated MetaFrameprint server; one that will not be used for user ICA sessions.

3. Assign the printer in the CMC using the “Auto-Creation” assignments to all users of this printer. a. Open the CMC and log on as a Citrix Administrator.

b. Navigate to the Printer Management Printers node in the left pane of the CMC. c. Select the printer, then R-click on the printer.

d. Select the Auto-Creation… option.

(38)

Appendix D: Creating a Network Print Server

Network Print Server

Once the Windows 2000 operating system is installed on the server and the administrator logs in for the first time, the “Configure your server” dialog appears. On the left frame is a link to “Print Server”. This link leads the administrator to one of three options;

Add Printer •

• •

Manage Printer Help

Incidentally, all of these functions are accessible through the Print Manager via Start Menu/Settings/Printers. The key point here is that nothing “special” needs to be configured to make the server a “Print Server”. It is simply the server from which all printers will be shared.

Once all the printers have been physically connected to the network or connected locally to the print server via parallel cables it is time to add/publish the printers. Add all printers that the print server should be managing based on your network diagram and design specifications for the environment.

Adding/Publishing a Printer

The following is a guide on how to install a printer connected to the network that will be managed through the print server. Note that these steps are very similar when connecting a locally attached printer. The only difference lies in steps 4-6. These steps will not appear when connecting a locally attached printer (Parallel cable).

1. Open the Add Printer Wizard by double clicking “Add Printer” in the Print Manager(Start Menu/Settings/Printers). Click Next.

2. On the Local or Network Printer dialog choose “Local Printer” and uncheck “Automatically detect and install my Plug and Play printer”. Click Next.

3. On the Select the Printer Port dialog, select the “Create a new port” radio button. Select “Standard TCP/IP Printer Port” from the dropdown list. Click Next.

Note - If you are installing a locally attached printer you will need to select the “Local Port” radio button rather than creating a new port.

4. The Add Standard TCP/IP Printer Port Wizard will pop up. Click Next.

5. On the Add Port dialog, enter the IP address of the network printer you are connecting. Note that the IP address of the printer usually can be managed from the printer console. Also, enter the port name you wish to use. It is best to make these meaningful and standardized names. Click Next.

6. On the Completing theAdd Standard TCP/IP Printer Port Wizard, click Finish.

7. The Add Printer Wizard will reappear. Select the manufacturer and model of the printer that is being connected.

8. On the Use Existing Driver dialog, select the “Keep Existing Driver” radio button. Click Next. 9. On the Name Your Printer dialog, enter a meaningful name for your printer. Click Next.

10. On the Printer Sharing dialog, select the “Share As” radio button and enter a meaningful name for you printer that user’s will be able to understand.

(39)

11. On the Location and Comment dialog, enter the location of the printer and any general comments about the printer. These attributes will be displayed to the user upon their connection to the printer. Click Next.

(40)

Appendix E: Implementing a Printer Mapping Login Script

Server Side Configuration

The following steps need to be performed on the MetaFrame server.

Install Printer: Automatic printer mapping via a login script requires that all printers be added to the MetaFrame servers. This ensures that the proper drivers are installed on the MetaFrame servers.

Deleting the printer from the Print Manager: This action removes the printer from the manager, but will ensure that the necessary driver and dll’s exist on the server since they would have been installed when the printer was added.

Apply Security Permissions: Remove the read rights from the group the user is currently a member. It will also be necessary to remove groups like the “Everyone” group.

Login Script Design

The Login Script is a file written in VBScript and linked to a user policy in Active Directory (The policy that needs to be configured is under User Configuration/Windows Settings/Script (Logon/Logoff)/Logon). After the user has authenticated during the login process, Windows 2000 applies policy settings. The login script will execute during that process. Most login scripts contain numerous functions to map drives, apply email profile settings, rename folders, and map printers. For the purpose of this document the login script’s only purpose will be to map printers. Figure 3.1 details the events that occur during the login script execution.

Begin Login Script

3. Open Printers.ini Printers.ini

1. Retrieve User Information from Active Directory

2. Is user a member of a print

group?

End Login Script

4. Map each printer assigned to

print group

End Login Script

Figure 3.2 – Login Script Process Flow

1. Once the login script has started, it is queries Active Directory for user information such as domain and group membership and stores it.

2. As the script retrieves the user’s group membership, it evaluates each group to determine if the group is one that was pre-defined as needing printer assignments.

(41)

Figure 3.2 – Sample printers.ini file

4. Each printer associated to the group found in the printers.ini file will be mapped for the user.

Login Script Sample

Below is a copy of the VBScript code that will map users’ printers based on a predefined printer.ini file.

' --- ' | Constants |

' ---

Set WshShell = Wscript.CreateObject("Wscript.Shell") Set WshNetwork = Wscript.CreateObject("Wscript.Network") Set FSO = CreateObject("Scripting.FileSystemObject") Const ForReading = 1

Dim Group 'All the user's groups Dim objADSIUser

' --- ' | Change Variables based on location | ' ---

LogonServer = WshShell.ExpandEnvironmentStrings("%logonserver%") sPathToScript = LogonServer & "\netlogon\wts_os\"

(42)

Set WshShell = Nothing Set WshNetwork = Nothing Set objADSIUser = Nothing wscript.quit

' --- ' | Retrieve User Information | ' ---

Function GetUserInfo(sUserName, sUserDomain, sUserLocation, sUserWorkGroup) On Error Resume Next

Do While (IsEmpty(sUserName))

sUserName = UCase(WshNetwork.UserName)

Loop

sUserDomain = UCase(WshNetwork.UserDomain)

Call GetUserGroup(sUserDomain, sUserName, sUserGroup)

End Function

' --- ' | Retrieve User Group | ' ---

Function GetUserGroup(sUserDomain, sUserName, sUserGroup)

On Error Resume Next sGroupCount = 0

Set objADSIUser = GetObject("WinNT://" & sUserDomain & "/" & sUserName & ",user") For each Group in objADSIUser.Groups

sUserGroup = Group.name

'Only map printers and drives for the user group in Rxxx VRO Users format 'where xxx is unique for each office group. If InStr(sUserGroup, "Prnt") = 1 Then

Call MapPrinters(sUserGroup, sPathToScript)

sGroupCount = sGroupCount + 1

'Only map drives for first print group. There should only be one print ‘group per user. If sGroupCount = 1 Then

Call MapDrives(sUserGroup, sPathToScript)

End If End If

Next

End Function

' --- ' | Find Printer Mapping File | ' --- Function MapPrinters(sUserGroup, sPathToScript)

On Error Resume Next

'Open the Printers.ini mapping file.

Set sUserPrinterFile = FSO.OpenTextFile(sPathToScript & "Printers.ini", ForReading) If (IsEmpty(sUserPrinterFile)) Then

Exit Function

End If

Call FindUserPrinters(sUserPrinterFile, sUserGroup)

End Function

(43)

' | Find User Group in Printer Mapping File | ' --- Function FindUserPrinters(sUserPrinterFile, sUserGroup)

On Error Resume Next

sPrinterCount = 0

Do While (sUserPrinterFile.AtEndOfStream <> True) sPrinterPath = sUserPrinterFile.ReadLine If (sPrinterPath = "[" & sUserGroup & "]") Then

sPrinterPath = Trim(UCase(sUserPrinterFile.ReadLine))

Do While (sPrinterPath <> "")

sPrinterCount = sPrinterCount + 1

Call MapUserPrinters(sPrinterPath, sPrinterCount)

sPrinterPath = sUserPrinterFile.ReadLine

Loop Exit Function

End If

Loop

End Function

' --- ' | Map Printer |

' --- Function MapUserPrinters(sPrinterPath, sPrinterCount)

On Error Resume Next

Set CurrentMappedPrinters = WshNetwork.EnumPrinterConnections For i = 0 to CurrentMappedPrinters.Count -1

If (CurrentMappedPrinters(i) = sPrinterPath) then

Exit Function

End If

Next

WshNetwork.AddWindowsPrinterConnection(sPrinterPath) If (err.number <> 0) Then

Select Case Err.Number

Case "70"

'sLogFile.WriteLine(" ***** ERROR - PERMISSION DENIED - Printer " & sPrinterPath & " did not map correctly *****")

Case "-2147023095"

'sLogFile.WriteLine(" ***** ERROR - PRINTER PATH NOT FOUND - Printer " & sPrinterPath & " did not map correctly *****")

Case Else

'sLogFile.WriteLine(" ***** ERROR - " & Err.Number & " - Printer " & sPrinterPath & " did not map correctly *****") End Select

err.clear

If (sPrinterCount = "1") then

sPrinterCount = "0"

End If

Exit Function

end if

If (sPrinterCount = 1) then

WshNetwork.SetDefaultPrinter (sPrinterPath)

End If

Set CurrentMappedPrinters = WshNetwork.EnumPrinterConnections

For i = 0 to CurrentMappedPrinters.Count

(44)

Appendix F: Printing Optimization

This section includes tips and configurations for optimizing printing services in the network infrastructure. Each optimization indicates the printing architecture of which it is applicable. Refer to Section 6: Summary of Printing Architectures to receive a quick-reference overview as to the architectures that each optimization applies.

Manage the spool file

Move the spool file to non-system drive to reduce interaction with the system hard disk and to accelerate print jobs. This is a setting that would need to be configured on the print server, as it is the hardware component responsible for spooling. Note, that on networks using MetaFrame auto-creation, this is not necessary since their local PCs will be acting as the print servers.

To accomplish this the following registry key needs to be configured: HKLM\System\Current Control Set\Control\Print\Printers\DefaultSpoolDirectory (REG_SZ) = [path]

Applies To:Network/IP Printing Architecture

Client UI optimization

The following configurations reduce the risk of server failure, but do affect the user experience of printing. Disable printer pop-up message.

Printer Dialogue can hang server while awaiting user input . Modify HKLM\System\Current Control Set\Control\print\providers\

NetPopup (REG_DWORD) = 1 EventLog (REG_DWORD) = 0

Applies To:

Network/IP Printing Architecture Local Printing Architecture

Disable Printer Beeps

The beep can decrease printing performance while being transmitted to the client Modify HKLM\System\Current Control Set\Control\print\

BeepEnabled (REG_DWORD) = 0

Applies To:

Network/IP Printing Architecture

Local Printing Architecture

Manage client printer pipes

Controls number of jobs that can be spooled simultaneously. In some environments it might be possible to send more jobs to the print server to process at one time given that the print server and network are powerful enough to handle the additional load

Default is 10 (Value must be between 10 and 63) Command is CLTPRINT [/q] [/pipes:nn] [/?] Applies To:

(45)

Local Printing Architecture

Tune ICA connection parameters

In the Citrix Connection Configuration utility, Connection\Edit Connection\Client Settings disable unnecessary Client Mappings and set ‘By default, connect only the client’s main printer’.

Applies To: Auto-Created Architecture

System log.

By default NT logs all print events to the System Log. On an active server, this can f

Figure

Figure 2.1- Remote (WAN) Printing
Figure 2.3- Client auto-creation
Figure 3.1 – Local (LAN) Printing
Figure 3.2 – Remote (WAN) Printing
+7

References

Related documents

Na [Slika 69] prikazana je raspodjela poprečnih sila u smjeru lokalne osi 1 pri čemu se može primijetiti kako poprečne sile u smjeru lokalne osi 1 baš kao i u slučaju

Following rapid biodiversity surveys at Nonggang and Longhu sections of Nonggang National Nature Reserve in Longzhou County, Southwest Guangxi (Kadoorie Farm and Botanic Garden,

To uncover some of the dilemmas of feminist media activism in South Africa, this article explores the work of Gender Links as a case study.. Results are based on an analysis of

1 CEU per 3 hours of class time Completion of a CRE certificate program Name of organization or provider, program title, CMCP competency domain(s), date completed, length of

Based on a critical mass of research conclusions were drawn to infer how Title IX has helped the officiating industry grow by increasing the job opportunities for officials seeking

Working in the community can be unpredictable and challenging and skills are required to move from one home where you may be looking after a patient with palliative care needs

• Run cross-sectional regressions of firm level equity returns for each month from July of year t+1 through June of year t+2 on set of characteristics.. • Average the

All professional-technical degree and certificate programs must be approved by the State Board for Community and Technical Colleges (State Board) prior to program implementation