JTDC 130609 - Impressions

+9

No comments posted yet

Comments

Slide 5

Slide 8

Slide 9

Slide 10

Slide 14

EMF - WMF is a 16-bit format introduced in Windows 3.0. It is the native vector format for Microsoft Office 2003 and earlier applications such as Word, PowerPoint, and Publisher. a newer 32-bit version with additional commands is called Enhanced Metafile (EMF). EMF is also used as a graphics language for printer drivers. XPS - XPS is the new Microsoft XML Paper Specification. XPS has several improvements like reduction in printer network packet size and is aimed for the next generation of windows applications. Windows Server 2008 uses XPS as a universal print driver for machines connected to Terminal Services from a .Net 3.0 enabled device (i.e. Windows XP, Windows Vista, Windows Server 2003 and Windows Server 2008). Windows Vista and Windows Server 2008 have .NET 3.0 installed by default Supporting XPS required the Citrix Universal Print Driver to support print tickets rather than devmode communication. A Print Ticket is an XML document that specifies the details of how to print the accompanying document to a given printer. This is analogous to a Devmode which provided the same function in older printing technologies. The XPS Universal Print Driver did not replace the old UPD, rather, it runs in parallel to it and is functionally the same with minor code swaps to support print tickets vs. devmode. The XPS Universal Print Driver will be used for client connections originating from a device that does not support EMF and which has .NET 3.0 installed. The use of the XPS UPD is automated. So, if the client support XPS, then XPS will be used during their connection. If not, then PCL5c, PCL4 or Postcript will be used in that order. PCL - Printer Command Language, more commonly referred to as PCL, is a Page description language (PDL) developed by HP as a printer protocol and has become a de facto industry standard. Originally developed for early inkjet printers in 1984, PCL has been released in varying levels for thermal, matrix printer, and page printers. HP-GL and PJL are supported by later versions of PCL. PCL 4 was introduced on the HP LaserJet II in 1985, adding macros, larger bitmapped fonts and graphics. PCL 4 is still popular for many applications. PCL 5c introduced color support on the HP PaintJet 300XL and HP Color LaserJet in 1992. Postscript - Unlike either printers or plotters, a laser printer makes it possible to position high-quality graphics and text on the same page. PostScript made it possible to fully exploit these characteristics, by offering a single control language that could be used on any brand of printer. PostScript Level 1 - The PostScript language has had two major upgrades. The first version, known as PostScript Level 1, was introduced in 1984. PostScript Level 2 - PostScript Level 2 was introduced in 1991, and included several improvements: improved speed and reliability, support for in-RIP separations, image decompression (for example, JPEG images could be rendered by a PostScript program), support for composite fonts, and the form mechanism for caching reusable content. PostScript 3 - PostScript 3 (Adobe dropped the "level" terminology in favor of simple versioning) came at the end of 1997, and along with many new dictionary-based versions of older operators, introduced better color handling, and new filters (which allow in-program compression/decompression, program chunking, and advanced error-handling). PostScript 3 was significant in terms of replacing the existing proprietary color electronic prepress systems, then widely used for magazine production, through the introduction of smooth shading operations with up to 4096 shades of grey (rather than the 256 available in PostScript 2), as well as DeviceN, a color space that allowed the addition of additional ink colors (called spot colors) into composite color pages.

Slide 22

Citrix Print DefaultPrnFlags Tool 2.0.16 permet de vérifier de nombreux points de la liste ci-dessus

Slide 45

Seamless feature plays a central role in application delivery. Any issue can be seen to all regular CPS users, which tend to make seamless problems treated as a major issue.

Slide 1

L’impression sous XenApp Fonctionnement, Diagnostic, Trucs et Astuces 13 Juin 2009 Frédéric Serrière (ThinIsFat) Escalation Engineer, Citrix Systems

Slide 2

Agenda

Slide 3

Agenda

Slide 4

Imprimante réseau Imprimante locale Les types d’imprimantes Windows

Slide 5

Port USB, LPT ou TCP Travail d’impression spoulé localement Données d’impression (adaptées au périphérique) envoyées sur un port Port local (LPT, USB) - ou - port réseau (TCP/IP, SMB) Imprimante stockée dans HKLM\System\CCS\Control\Print\Printers Disponible pour tous les utilisateurs locaux de cette machine Visibilité & et permissions contrôlées par ACL Imprimante locale

Slide 6

SpoolSS RPC USB, LPT, TCP Connection privée vers une imprimante réseau partagée : Hébergée sur un serveur d’impression Windows Utilisation autorisée de l’imprimante partagée (ACL) Connexion stockée dans HKCU\Printers\Connections Travail d’impression spoulé directement sur le serveur d’impression distant Imprimante réseau

Slide 7

Imprimante locale sur le serveur Exemples: Imprimante TCP/IP définie localement Imprimante PDF ou Fax Imprimante réseau connectée Imprimante réseau partagée traditionnelle Imprimante cliente redirigée Imprimante locale Redirection via le protocole ICA Les types d’imprimante XenApp

Slide 8

Imprimante Locale XenApp Port USB, LPT ou TCP Imprimante virtuelle PDF, XPS ou Fax ICA

Slide 9

Imprimante Réseau XenApp Port USB, LPT ou TCP ICA SpoolSS RPC

Slide 10

Imprimante cliente redirigée XenApp ICA SpoolSS RPC Port USB, LPT ou TCP Port USB, LPT ou TCP

Slide 11

Imprimantes de session définies par Stratégie Citrix Imprimante locale sur le client Imprimante réseau définie sur le client Citrix UNIVERSAL Printer Origine de l’imprimante Type d’imprimante XenApp Imprimante Réseau Imprimante Client Redirigée Imprimante Client Redirigée - ou - Imprimante Réseau Imprimante Client Redirigée (speciale) Types d’imprimantes autocréées

Slide 12

Universal Printer Driver, Génération 2 MetaFrame XP Presentation Server FR3 (ICA 7.0) Basé sur HP Color LaserJet 4500 (PCL5c) Ajoute l’impression couleur et le support du 600dpi Evolution de l’impression universelle Citrix Le Premier Universal Printer Driver MetaFrame XP Presentation Server FR1 (ICA 6.20) Basé sur HP LaserJet II (PCL4) 300 dpi monochrome

Slide 13

Universal Printer Driver, Génération 3 Citrix Presentation Server 4.0 (ICA 9.0) Pilote d’impression Citrix (basé sur EMF) Tous les paramètres d’imprimante accessibles dans la session Aperçu sur le client, Citrix Universal Printer… Universal Printer Driver, Génération 3 XPS Citrix XenApp 5.0 Windows 2008 (ICA 11.0) Basé sur le pilote Microsoft XPS Tous les avantages de l’UPD v3 Avec la majorité des avantages de XPS..  Evolution de l’impression universelle Citrix

Slide 14

Nouvelle technologie d’impression Microsoft Container de document similaire à PDF Format d’impression natif pour les applis WPF Un document XPS est une archive ZIP avec : Schéma d’impression XML pour les paramètres documents et périphériques (PrintTicket) Dérivé du XAML pour le contenu graphique de chaque page Injection des polices et autres ressources graphiques Poussé agressivement auprès des IHV d’imprimantes Pilotes XPS préquis pour obtenir la certification et le logo Windows depuis le 01/07/07 On jette un œil sur Microsoft XPS ?

Slide 15

Regardons rapidement un document XPS XPS Package Relationships Signature Origin Signature X509 Certificate Common Package Parts Core Properties Thumbnail Document Structure Font Thumbnail Resource Dictionary Fixed Document Sequence Fixed Document FixedPage FixedPage Image

Slide 16

Architecture UPD v3 Fichier de spool envoyé intact au client GDI créé le fichier de spool CPPROC.DLL l’intercepte CPMON.DLL envoie les données du spool à CPSVC.EXE CPSVC.EXE compresse et envoie au client WFICA32.EXE décompresse et écrit vers un fichier temporaire CPVIEWER.EXE imprime/affiche le travail d’impression

Slide 17

Agenda

Slide 18

On passe rapidement sur les bases Quel type d’imprimante est utilisé ?

Slide 19

Plus sérieusement… On vérifie que si les services spooler et cpsvc répondent On examine l’observateur d’évênements du serveur On vérifie si le job d’impression est sur le serveur/le client On vérifie la liste des correctifs Citrix (cpatch /l >c:\HF.txt) On vérifie la version du client ICA… Est-ce que cela fonctionne avec la version précedente ? Vérifier si le problème n’est pas corrigé par une nouvelle version Bref, on consulte le CTX105158 : Troubleshooting ICA printing – Quick Reference Guide

Slide 20

Phases critiques lors de l’auto-création (1/2) Crash de Wfshell stoppe le processus vérifier les log DrWatson est-ce que cpsvc.exe tourne ? Vérifier le registre pour s’assurer que les stratégies sont appliquées Permissions de ctx_cpsvcuser Vérifier Wtsuprn.inf file ET les Mappings dans la CMC/PSC Vérification du mapping de pilotes

Slide 21

Spooler arrêté Droits de ctx_cpsvcuser Droit de ctx_cpsvcuser de “impersonate a client” Permissions sur le serveur d‘impressions Problème réseau Filtre de stratégie incorrect Vérifier le registre pour s’assurer que les stratégies sont appliquées Phases critiques lors de l’auto-création (2/2)

Slide 22

Les points à vérifier : côté serveur Obtenir la liste des correctifs privés installés (fournis par l’équipe d’Escalation Citrix) en cas de contact avec le Support Citrix Dans les stratégies Citrix : Rétention des propriétés d’imprimantes (profil sur le serveur, machine cliente) Liste des pilotes d’impression interdits / autorisés Liste des mappings de pilotes Limites de bande passante de session Contenu de la clef HKLM\SW\Citrix\Print\DefaultPrnFlags Récréer l’utilisateur qui gère cpsvc.exe Duplica de fichiers Citrix (ctxprn.dll, cpmon.dll) sur le serveur

Slide 23

Le moteur évalue les stratégies et les écrit dans le registre HKLM\Software\Citrix\Policies\[Session ID] Effectué par Citrix Print Manager Service (Cpsvc.exe) Stratégies Citrix : application

Slide 24

La majorité des échecs d’autocréation sont enregistrés dans le journal Applicatif. Les codes de status (erreurs) peuvent être traduits avec ‘net helpmsg’ (convertir le code hexa en décimal). Messages dans l’Observateur d’Evênements

Slide 25

Les points à vérifier : côté client Obtenir la liste des correctifs privés installés (fournis par l’équipe d’Escalation Citrix) en cas de contact avec le Support Citrix Quelle valeur pour Win32FavorRetainedPrinterSettings ? Vérifier le contenu de HKCU\Software\Citrix\PrinterProperties Est-ce que le job d’impression arrive jusque là ? Vérifier que XPSPrintHelper.exe est présent (UPD XPS) Vérifier que EMFRENDR.dll est présent (UPD v3) Vérifier que PCL2BMP.exe est présent (UPD v2, v1)

Slide 26

Agenda

Slide 27

Quand tracer ? Tracer juste avant de reproduire le problème. Arrêter la trace dès que le problème est survenu. Si le problème est aléatoire, NOTER précisément l’heure et l’utilisateur (avec ID de session) impacté. Réduire au maximum la « pollution » du serveur…

Slide 28

Comment tracer côté serveur ? Utiliser Performance Monitor Permet de s’assurer que l’impression est envoyée au client Permet de contrôler la durée d’envoi des données Permet de mesurer l’impact de la limitation de bande passante Indique l’envoi de données

Slide 29

Comment tracer côté serveur ? CDF ! Utiliser les traces CDF : Inclus depuis MPS3.0, support limité sous XP XP SP4/HRP02. Permet d’avoir un niveau de détails élevé de logging Personnalisable Faites-la analyser par votre TRM ou le Support Technique Citrix… …. ou vous-même si vous vous sentez le courage !

Slide 30

Access Suite Console 4.x Access Management Console 4.x et 5.x CDFControl (à privilégier) Tracelog Comment obtenir cette fameuse trace CDF ?

Slide 31

MF_Service_CpSvc MF_DLL_Cpmmon MF_DLL_CpMon MF_DLL_CpProv MF_DLL_Ctxprn MF_Driver_CpUpdrv MF_Driver_CpUpdUI CDF : Détails sur quelques éléments

Slide 32

MF_Service_CpSvc MF_DLL_Cpmmon MF_DLL_CpMon MF_DLL_CpProv MF_DLL_Ctxprn MF_Driver_CpUpdrv MF_Driver_CpUpdUI CDF : Détails sur quelques éléments serveur RPC gestion des imprimantes de session Exemples d’objets : CSession, CServer, CPrinter, Cstream Couche d’interface avec le canal virtuel (vdspl) du client ICA

Slide 33

MF_Service_CpSvc MF_DLL_Cpmmon MF_DLL_CpMon MF_DLL_CpProv MF_DLL_Ctxprn MF_Driver_CpUpdrv MF_Driver_CpUpdUI CDF : Détails sur quelques éléments face du serveur pour l’envoi des données vers les ports LPT (sujet à future suppression) Communication avec le spooler

Slide 34

MF_Service_CpSvc MF_DLL_Cpmmon MF_DLL_CpMon MF_DLL_CpProv MF_DLL_Ctxprn MF_Driver_CpUpdrv MF_Driver_CpUpdUI CDF : Détails sur quelques éléments interface réseau avec les imprimantes clientes pour le spooler local utilisé pour son interface utilisateur avec le spooler Interception de certaines API d’impression pour modifier leur comportement

Slide 35

MF_Service_CpSvc MF_DLL_Cpmmon MF_DLL_CpMon MF_DLL_CpProv MF_DLL_Ctxprn MF_Driver_CpUpdrv MF_Driver_CpUpdUI CDF : Détails sur quelques éléments interface RPC avec le client

Slide 36

MF_Service_CpSvc MF_DLL_Cpmmon MF_DLL_CpMon MF_DLL_CpProv MF_DLL_Ctxprn MF_Driver_CpUpdrv MF_Driver_CpUpdUI CDF : Détails sur quelques éléments LE pilote réel vis à vis du spooler local Cpupdui.dll: APIs distantes vers le pilote d’impression du client (possibilités et paramètres) Cpupdrv.dll: durant l’envoi du fichier par le spooler, interagit avec le GDI comme un véritable pilote mais sans rendu

Slide 37

Arrrg, on choisit quoi ??? Problème d’impression/autocreation avec UPD Problème d’impression/autocreation avec pilote natif ou UPD Problème d’impression/autocréation inclut les serveurs importés et les imprimantes de session Des modèles CDF spécifiques pour ces cas (et bien d’autres) sont disponibles sur www.doctor-citrix.com Ces modèles sont plus précis que le template fourni dans la KB Citrix (merci qui?) 

Slide 38

Comment on analyse une trace CDF ?? Récupérez les fichiers PDB Depuis le site FTP Citrix ou le lien direct dans les readme des HRPs tracepdb.exe indispensable pour créer les TMF Récupérez traceview.exe chez Microsoft Ouvrez le fichier .ETL qui a été créée et… Have fun ! Note : CDFControl 2.5 permet d’analyser également une trace CDF !

Slide 39

CDF : autocréation d’imprimante

Slide 40

Agenda

Slide 41

Uniquement UPD v3 et client 10.x ou supérieur HKLM\Software\Citrix\ICA Client\PrintDebugFlags\EMF (dword) Valeurs : 0 défaut, traces désactivées 1 niveau de base, envoi vers le port debug (visible avec DbgView) 2 idem, avec enregistrement dans un fichier de log (dans %temp%) 3 comme 2, niveau de trace élevé (inclus informations EMF et Devmode) 4 comme 3, avec rétention du fichier de spool 5 comme 4, avec rétention des autres éléments (polices, devmode, EMF) Comment tracer sur le client ?

Slide 42

Dans le répertoire %temp% de l’utilisateur Exemple de fichiers générés par une valeur 5 : Fichiers générés par Cpviewer

Slide 43

On plonge dans le fichier de log ? Location of Spool file received from the server Partie I du spool recup entête et info devmode Partie 2 du spool. Nb de pages et structure du doc Partie 3 du spool. Récupération des données du travail d’impression

Slide 44

Looking into the log file (cont.) Récupération du Devmode à partir du fichier de spool Recup Devmode de l’imprimante Fusion des Devmode Validation des Devmode Ouverture impr. et envoi fichier

Slide 45

Agenda

Slide 46

Utiliser PRINTBRM.EXE à la place de Print Migrator 3.1 http://technet.microsoft.com/en-us/library/cc722360.aspx Notes importantes : Citrix ne valide aucun matériel, logiciel ou pilote Citrix Ready est un programme où les constructeurs s’engagent à suivre certaines pratiques pour la compatibilité de leurs logiciels, matériels TOUJOURS tester un pilote avant son déploiement en Production HP a travaillé avec Citrix pour mettre en place un White Paper indiquant, par imprimante, le pilote HP recommandé Gestion des pilotes d’imprimantes

Slide 47

Facilitez-vous la vie au maximum !!!!! : Activer la stratégie “Pilote UPD uniquement” … Avec des clients légers : Utilisez les stratégies d’imprimantes de session Installez un lot minimal de pilotes Pour éviter que des pilotes polluent votre système : Désactivez l’auto-installation des pilotes Désactivez la GPO Point & Print Réduisez les droits sur le registre des pilotes (lecture seule pour tout le monde sauf un compte d’administration spécial) Favorisez les pilotes in-box plutot que OEM et ceux signés digitalement par rapport aux autres. Gestion des pilotes : Best Practices

Slide 48

HP LaserJet 1320 PCL 6 HP LaserJet 4 HP LaserJet 4050 PCL 6 CPU de Spoolsv.exe lors de l’ajout de 5 imprimantes concurrentes Pourquoi toute cette haine envers les pilotes ?

Slide 49

Côté serveur (1/4) Désactiver la compression: (troubleshoot only!) À utiliser quand la page n’est pas imprimée comme affichée HKLM\Software\Citrix\Print CompressionLevel=0 (dword) Désactiver les optimisations de UPD v2: Lors de l’utilisation de polices personalisés, l’impression est incomplète surtout en grande taille HKLM\Software\Citrix\UniversalPrintDrivers\PCL5c DisablePrintOptimizations=1 (dword) Forcer l’utilisation de UPD v2 : Retirer la clef EMF de HKLM\Software\Citrix\UniversalPrinterDrivers

Slide 50

Côté serveur (2/4) Désactiver l’utilisation de l’UPD pour certains pilotes HKLM\SOFTWARE\Citrix\Print\DefaultPrnFlags= 0x10000000 (CTXPRN_NO_UPD_FALLBACK_FOR_DISALLOWED_DRIVER) Ajouter les noms dans la liste des pilotes « interdits » :

Slide 51

Côté serveur (3/4) Vérification de la compatibilité des pilotes Apparaît avec CPS4.0 HRP02 C:\program files\citrix\System32\wtsuprn.txt à copier en wtsuprn.inf [DriverEquivalenceFields] “HP LaserJet 4” = Name,DevModeSize,WinVer,Env,DriverFile,Version,Date Exemples : “HP*”=Name “HP LaserJet ?”=Env Note : “HP*”=Name “HP LaserJet 4”=Name,WinVer http://support.citrix.com/article/CTX108763 !

Slide 52

Côté serveur (4/4) Citrix Universal Printer (CUP) : aucun pilote, UNE seule imprimante Imprimante générique en session ICA non liée à une imprimante cliente Utilise l’UPD v3 Beaucoup d’améliorations incluses dans CPS4.0 HRP04 et CPS4.5 HRP01. Fix récents inclus dans CPS4.5 HRP04 et hotixes post HRP06 Set using DefaultPrnFlags=0x20 Tous les paramètres peuvent être précisé au niveau du serveur http://support.citrix.com/article/CTX106812

Slide 53

Côté client – des problèmes de rendu Dans le client 9, le fichier de spool était réécrit par Depuis le client 10, le fichier de spool EMF est directement envoyé au spooler du client Désactiver uniquement pour certains pilotes (PDF, Fax) : HKLM\Software\Citrix\ICA Client\ReprocessEMFDriverList (multi string) Forcer le fonctionnement du client 9 (tous pilotes) : HKLM\Software\Citrix\ICA Client\UPDEmfViewerMode=« PlayDC » (string)

Slide 54

Côté client – paramètres imprimantes Paramètres enregistrés correctement dans la session ICA mais différents des paramètres locaux Dans la section [WFClient] section, ajouter : Win32FavorRetainedPrinterSettings=Off Force la lecture des paramètres depuis l’imprimante cliente à chaque connexion Attention : impacte le temps total de connexion et de disponibilité des imprimantes CTX108763 Changes to Printer Properties in the ICA 9.200

Slide 55

Taille du fichier de spool en UPD v3 Certains éléments ont un impact important sur la taille du fichier de spool Les polices : Nom identiques, mais version différente (Win2k, Vista, Win2008). Contactez le support Police non présente sur la machine cliente, donc ajoutée Les graphiques La résolution Pour ces deux points, l’utilisation de la CUP peut être un bon contournement (cf www.citrixtools.net/)

Slide 56

Citrix StressPrinter 1.3.1 Simulation de plusieurs sessions créant des imprimantes avec le même pilote Peut aussi être utilisé pour comparer : Charge CPU pour la création d’imprimante avec un pilote particulier Temps requis pour la création d’imprimante avec un pilote particulier Note: Cette version ne teste que l’installation d’imprimantes et non leur utilisation (appels d’impressions, changement de paramètres….) http://support.citrix.com/article/CTX109374

Slide 57

Citrix StressPrinter 1.3.1

Slide 58

Interface graphique permettant, sur l’ensemble des serveurs d’une ferme : la configuration de la totalité des DefaultPrnFlags non implémentés dans les stratégies La visualisation du niveau de HRP sur les serveurs La mise en place de l’ensemble des astuces citées précédemment L’affichage des paramètres de stratégie d’impression pour les session ICA actives sur la ferme Lancé sur une machine cliente, il permet : Le nettoyage des propriétés d’imprimantes autocréées La mise en place du tracing pour UPD v3 ou XPS La mise en place de l’ensemble des astuces cités précedemment Citrix Print DefaultPrnFlags Tool 2.0

Slide 59

Testé sur les versions suivantes : Citrix Presentation Server 4.0 (HRP 1 à 6) Citrix Presentation Server 4.5 (HRP 1 à 4) Citrix XenApp 5.0/2003 (HRP 3 et 4) Citrix XenApp 5.0/2008 Windows 2000 Server / Advanced Server (SP4) Windows 2003, Windows 2003 R2 (32 et 64 bit) Windows 2008 (32 et 64 bit) – compatible UAC Windows 2000 Pro, XP, Vista – compatible UAC Inclus un mode trace, à capturer avec DebugView Citrix Print DefaultPrnFlags Tool 2.0

Slide 60

Citrix Print DefaultPrnFlags Tool 2.0

Slide 61

Citrix Print DefaultPrnFlags Tool 2.0

Slide 62

Citrix Print DefaultPrnFlags Tool 2.0

Slide 63

Citrix Print DefaultPrnFlags Tool 2.0

Slide 64

Ajout des fonctionnalités suivantes : Interface améliorée Support de XenDesktop 3.0 Configuration complète de la désactivation de l’UPD pour certains pilotes (astuce serveur 2) Comparaison et mise à jour des pilotes d’impression avec le DataStore Affichage des erreurs et avertissements d’impression Citrix présent dans les journaux des serveurs Gestion de la réplication des pilotes (état, purge) Citrix Print DefaultPrnFlags Tool 3.0

Slide 65

Questions

Slide 66

by

Summary: docforum #1

Tags: citrix printer

URL:
More by this User
Most Viewed