Si vous rencontrez des lenteurs inexplicables entre le moment où vous lancez votre impression et celui où elle sort de l’imprimante. Je vous conseil de vérifier ce qui suit.
Voilà près de dix ans, j’ai rencontré ce problème dans l’entreprise pour laquelle je travaillais. Des délais de près de 10 minutes ont été observés pour qu’une impression soit sur le papier.
Nous avions cherchés du côté du réseau, de performance du serveur, des drivers, etc…
Nous avons fini par demander de l’aide auprès de notre support externe (Microsoft Gold Partner). Ils ont investigué sur les mêmes points que nous. Nous avons reçus des recommandations, dans l’ordre:
- réinstaller tous les drivers sur le serveur
- augmenter la mémoire du serveur
- réinstaller les services d’impressions sur le serveur
- réinstaller les drivers sur les postes clients
- supprimer les imprimantes et les réinstaller sur le serveur
- installer un nouveau serveur et réinstaller les imprimantes « from scratch »
Comme le serveur avait 16GB de mémoire, nous avons arrêtés les frais au deuxième point.
C’est alors que sur un forum obscure (nullement une référence officielle Microsoft), j’ai fini par trouver.
Et voilà qu’il y a deux semaines, le problème se représente dans l’entreprise dans laquelle je travaille actuellement. Au bout de quelques jours. Nous ouvrons un ticket auprès de notre support externe (je sens que je me répète). Heureusement, j’ai eu ce sentiment de « déjà vu », le temps de fouiller dans ma mémoire. Et bingo.
Les symptômes
- Les utilisateurs se plaignent d’un délai déraisonnable pour obtenir leur impression.
- le job d’impression reste dans la queue pendant plusieurs minutes.
- L’impression est instantanée lorsque vous connecté l’imprimante en « direct » sur le poste de travail.
- Vous ne trouvez aucun message d’erreur dans le journal d’événements.
Le remède
Le serveur d’impression Windows stocke les jobs d’impressions dans un répertoire de travail (%windir%\system32\spool\Printers).
Lorsque le print spooler se plante (ce qui n’arrive JAMAIS sous Windows), des fichiers de jobs fantômes restent dans ce répertoire.
Après le redémarrage du print spooler, le répertoire n’est pas vidés et à chaque nouvelle impression, notre ami Windows tente de faire quelque chose des jobs fantômes avant de traiter le job valide, ce qui introduit une attente de timeout sur chaque jobs corrompus.
Pour pallier à ceci, le print spooler doit être arrêté.
Lancer un terminal en mode administrateur.
net stop spooler
supprimer les fichiers dans le répertoire.
del %windir%\system32\spool\printers\* /q
Redémarrer le spooler
net start spooler
Conclusion
La première fois que j’ai rencontré le problème, c’était sous Windows 2003 et aujourd’hui, c’est sous Windows 2008 R2.
J’espère que cet article pourra vous aider.