|
|
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.
Citrix Print DefaultPrnFlags Tool 2.0.16 permet de vérifier de nombreux points de la liste ci-dessus
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.
L’impression sous XenApp Fonctionnement, Diagnostic, Trucs et Astuces 13 Juin 2009 Frédéric Serrière (ThinIsFat) Escalation Engineer, Citrix Systems
Agenda
Agenda
Imprimante réseau Imprimante locale Les types d’imprimantes Windows
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
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
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
Imprimante Locale XenApp Port USB, LPT ou TCP Imprimante virtuelle PDF, XPS ou Fax ICA
Imprimante Réseau XenApp Port USB, LPT ou TCP ICA SpoolSS RPC
Imprimante cliente redirigée XenApp ICA SpoolSS RPC Port USB, LPT ou TCP Port USB, LPT ou TCP
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
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
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
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 ?
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
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
Agenda
On passe rapidement sur les bases Quel type d’imprimante est utilisé ?
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
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
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)
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
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
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
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)
Agenda
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…
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
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 !
Access Suite Console 4.x Access Management Console 4.x et 5.x CDFControl (à privilégier) Tracelog Comment obtenir cette fameuse trace CDF ?
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
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
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
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
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
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
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?)
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 !
CDF : autocréation d’imprimante
Agenda
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 ?
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
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
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
Agenda
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
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
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 ?
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
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 » :
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 !
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
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)
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
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/)
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
Citrix StressPrinter 1.3.1
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
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
Citrix Print DefaultPrnFlags Tool 2.0
Citrix Print DefaultPrnFlags Tool 2.0
Citrix Print DefaultPrnFlags Tool 2.0
Citrix Print DefaultPrnFlags Tool 2.0
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
Questions
by
Summary: docforum #1
| URL: |
No comments posted yet
Comments