Vous pouvez pinguer l’imprimante. L’interface web se charge. Le multifonction scanne joyeusement vers un e‑mail.
Pourtant Windows insiste sur le statut « Hors ligne » et restera ainsi jusqu’à la mort thermique de l’univers — ou jusqu’à ce que quelqu’un « réinstalle le pilote » pour la cinquième fois.
La punchline n’est généralement pas le réseau. C’est une décision de surveillance du port/du pilote à l’intérieur de Windows qui transforme discrètement un appareil sain en fantôme.
Et le coupable le plus fréquent est une seule case à cocher : SNMP Status Enabled (et ses voisins) sur le port TCP/IP de l’imprimante.
Le réglage du pilote qui casse tout : le statut SNMP sur le port
Dans Windows, une imprimante réseau est souvent représentée par un Standard TCP/IP Port.
Ce port n’est pas juste « une adresse IP ». Il contient aussi une configuration de surveillance : protocoles, délais d’attente et — de façon critique — des requêtes de statut SNMP.
Lorsque SNMP Status Enabled est activé, Windows interroge périodiquement l’appareil pour décider s’il est « en ligne ».
Si cette requête échoue (mauvaise chaîne de communauté, SNMP désactivé sur l’imprimante, SNMP bloqué par un pare‑feu, appareil en veille ne répondant pas au SNMP, ou ACL VLAN qui laissent passer 9100 mais bloquent UDP/161), Windows peut marquer l’imprimante comme Hors ligne.
L’impression peut encore fonctionner au niveau protocolaire, mais Windows n’essaiera même pas parce qu’il croit que la destination est indisponible.
Voilà pourquoi vous verrez le classique « Je peux pinguer, je peux ouvrir la page web, mais Windows indique hors ligne. » Ping utilise ICMP.
L’interface web de l’imprimante utilise TCP/80 ou TCP/443. L’impression utilise souvent TCP/9100 (RAW), TCP/515 (LPD) ou IPP.
SNMP utilise UDP/161. Différent protocole, différentes ACL, différents modes de panne.
Le schéma de panne spécifique
- Le chemin réseau est OK (ICMP et HTTPS fonctionnent).
- L’imprimante est OK (elle imprime depuis d’autres machines ou imprime la page de test depuis le panneau avant).
- Windows dit Hors ligne parce que la vérification d’état du port monitor échoue.
- Désactiver le statut SNMP sur ce port fait immédiatement apparaître l’imprimante comme En ligne et les travaux repartent.
Que faire, franchement
Si votre environnement ne supporte pas de manière fiable SNMP (et beaucoup ne le font pas), désactivez le statut SNMP pour les ports d’impression destinés aux utilisateurs finaux.
Vous pouvez toujours effectuer la supervision de parc via un système de monitoring dédié et une configuration SNMP fiable.
Mélanger « afficher le niveau de toner dans l’UI » avec « bloquer toute impression » est un choix d’architecture, et ce n’est pas un bon choix.
Blague n°1 : Les imprimantes n’ont pas de modes « hors ligne ». Elles ont des modes « Je vous punis d’avoir cru aux cases à cocher ».
Ce que « Hors ligne » signifie vraiment dans Windows (et ce que ça ne signifie pas)
Le statut « Hors ligne » de Windows n’est pas une vérité universelle. C’est l’opinion du sous‑système d’impression, basée sur les signaux qu’il est configuré pour croire.
Cette opinion peut être erronée.
Les couches impliquées
- Application : envoie un travail au spooler local via les API Win32 d’impression.
- Spooler : met en file, rend et remet le travail à un port monitor.
- Port monitor : implémente le transport (Standard TCP/IP Port, WSD, LPR, IPP, etc.).
- Transport : paquets sur le réseau (TCP/9100, UDP/161 pour SNMP, etc.).
- Appareil : firmware de l’imprimante, états de veille, accessoires, et une étonnante quantité de personnalité.
« Hors ligne » peut venir de :
- Le port monitor pense que l’appareil est inatteignable (requête d’état échouée).
- Le service Spooler est malsain ou bloqué.
- Le pilote fait planter le processus spooler ou échoue à rendre.
- L’imprimante a une IP différente de celle connue par le port (DHCP changé, DNS obsolète).
- Une stratégie ou une clé de registre force un comportement « Travailler hors ligne ».
Deux statuts à ne pas confondre
- Hors ligne (appareil inatteignable) : Windows n’enverra pas de travaux.
- Erreur / Attention requise : Windows peut envoyer des travaux, l’appareil peut les retenir.
La correction dépend de la couche qui ment. Votre travail est de trouver le menteur rapidement.
Playbook de diagnostic rapide (premier/deuxième/troisième)
Quand une imprimante est « Hors ligne » et que les utilisateurs tournent en rond comme s’il y avait le feu, vous n’avez pas besoin d’une philosophie de l’impression.
Vous avez besoin d’un tri rapide : réseau, appareil, surveillance du port Windows, ou spooler/driver.
Premier : validez les bases avec le bon protocole
- Confirmez l’adresse IP ciblée par Windows (propriétés de l’imprimante → Ports, ou via PowerShell).
- Testez TCP/9100 (ou le protocole configuré) depuis le client ou le serveur d’impression.
- Testez SNMP/161 uniquement si le statut SNMP est activé ; sinon ignorez‑le.
Second : vérifiez le moteur d’opinion de Windows
- Regardez la configuration du Standard TCP/IP Port : SNMP status activé ? chaîne de communauté ? index d’appareil correct ?
- Confirmez que vous n’utilisez pas WSD sauf si vous aimez les drames de découverte intermittente.
- Redémarrez le Print Spooler seulement après avoir capturé suffisamment de preuves (état de la file, erreurs).
Troisième : isolez les pannes driver/spooler
- Essayez un pilote de type Microsoft (PCL / PS générique) pour prouver une défaillance spécifique au pilote.
- Vérifiez les journaux PrintService pour des plantages, des délais d’attente ou des erreurs de port.
- Déplacez l’imprimante vers un nouveau port (même IP, port frais) pour effacer un état de monitor corrompu.
Ce playbook est orienté vers la rapidité et la certitude. Votre objectif n’est pas de « tenter des trucs ».
Votre objectif est de prendre une décision à la fois basée sur des preuves.
Faits et histoire qui expliquent le bazar actuel
L’impression est un de ces domaines informatiques où la promesse de compatibilité d’hier est la panne d’aujourd’hui.
Quelques faits concrets aident à expliquer pourquoi une seule case à cocher peut faire dérailler un mardi.
- SNMP (Simple Network Management Protocol) remonte à la fin des années 1980 et a été conçu pour la surveillance légère des appareils, pas comme un verrou d’indisponibilité pour la livraison des travaux.
- L’impression RAW de type JetDirect sur TCP/9100 est devenue courante dans les années 1990 parce que c’était simple et rapide : ouvrir une socket TCP, streamer des octets, fermer.
- LPR/LPD (TCP/515) est plus ancien encore, hérité des traditions d’impression UNIX, et se comporte différemment en cas d’échec (sémantique de file, options de bannière).
- Windows a introduit WSD (Web Services for Devices) pour faciliter la découverte. En pratique, WSD peut être fragile entre sous‑réseaux, états de veille et contraintes multicast.
- Les constructeurs d’imprimantes livrent des « status monitors » qui s’appuient sur SNMP car c’est ainsi qu’on obtient les niveaux de toner, l’état des bacs et les bourrages — jusqu’à ce qu’une équipe sécurité bloque UDP/161.
- SNMP v1/v2c utilise des community strings qui sont effectivement des mots de passe partagés ; beaucoup d’organisations désactivent SNMP ou le restreignent fortement, rompant l’hypothèse par défaut « public » de Windows.
- Les référentiels de durcissement modernes bloquent de plus en plus UDP entrant et sortant par défaut, et SNMP est souvent dommage collatéral même quand les ports d’impression sont autorisés.
- Les modes de veille des imprimantes peuvent couper sélectivement des services ; certains appareils gardent TCP/9100 actif mais laissent tomber les réponses SNMP jusqu’au réveil complet.
- Le statut « Hors ligne » de Windows n’est pas une vérité réseau standardisée ; il est dérivé des vérifications du port monitor et peut se tromper dans les deux sens.
Si vous vous êtes déjà demandé pourquoi l’impression ressemble à de l’archéologie, voilà la réponse : plusieurs protocoles, plusieurs ères, et beaucoup de « ça marche sur mon sous‑réseau ».
Prouvez‑le comme un SRE : tests qui séparent réseau, spooler et appareil
Traitez l’imprimante comme toute autre dépendance de production. Définissez le SLI (pouvons‑nous délivrer un travail ?) et testez le transport exact.
« Ping fonctionne » n’est pas un SLI. C’est un sentiment.
Une idée de fiabilité paraphrasée qu’on peut emprunter à la culture d’ingénierie, souvent attribuée à W. Edwards Deming : sans données, vous n’êtes qu’une autre personne avec une opinion.
Les pannes d’impression s’améliorent drastiquement dès que vous commencez à collecter les bonnes données.
Tâches pratiques (commandes, sorties, décisions)
Ces tâches supposent que vous êtes sur une machine Windows avec PowerShell, et (pour les tests réseau) que vous avez au moins un hôte jump Linux.
Le but n’est pas l’outil exact ; c’est la discipline : exécuter une commande, lire la sortie, décider de l’étape suivante.
Task 1: Identify the printer object and status from PowerShell
cr0x@server:~$ powershell -NoProfile -Command "Get-Printer | Sort-Object Name | Select-Object -First 5 Name,PrinterStatus,WorkOffline"
Name PrinterStatus WorkOffline
---- ------------ -----------
Accounting-3F-Ricoh Offline False
HR-2F-HP-LaserJet Normal False
Lobby-Canon-Color Offline False
PDFCreator Normal False
Zebra-Shipping Normal False
Ce que cela signifie : Vous pouvez voir si Windows le considère Hors ligne et si WorkOffline est défini.
Décision : Si WorkOffline est True, corrigez‑le d’abord (c’est un drapeau côté client). S’il est False et que le statut est Hors ligne, passez au diagnostic du port.
Task 2: Find which port the printer uses
cr0x@server:~$ powershell -NoProfile -Command "Get-Printer -Name 'Accounting-3F-Ricoh' | Select-Object Name,PortName,DriverName"
Name PortName DriverName
---- -------- ----------
Accounting-3F-Ricoh 10.20.30.45 Ricoh PCL6 V4 Driver
Ce que cela signifie : L’imprimante est liée à un objet port, souvent nommé par l’IP.
Décision : Interrogez ensuite ce port ; la correction est généralement là.
Task 3: Inspect the port configuration (SNMP is the usual suspect)
cr0x@server:~$ powershell -NoProfile -Command "Get-PrinterPort -Name '10.20.30.45' | Format-List *"
Name : 10.20.30.45
PrinterHostAddress : 10.20.30.45
PortNumber : 9100
Protocol : Raw
SNMPEnabled : True
SNMPCommunity : public
SNMPDevIndex : 1
Ce que cela signifie : Windows utilise RAW/9100 pour l’impression mais aussi SNMP pour décider du statut.
Décision : Si SNMP est bloqué/désactivé/mal configuré, désactivez‑le ou corrigez la communauté/l’index.
Task 4: Disable SNMP status on the port (the fix that actually fixes)
cr0x@server:~$ powershell -NoProfile -Command "Set-PrinterPort -Name '10.20.30.45' -SNMPEnabled $false; Get-PrinterPort -Name '10.20.30.45' | Select Name,SNMPEnabled"
Name SNMPEnabled
---- -----------
10.20.30.45 False
Ce que cela signifie : Vous avez retiré SNMP comme gardien.
Décision : Revérifiez le statut de l’imprimante. Si elle passe à Normal et que l’impression fonctionne, vous avez confirmé la cause racine.
Task 5: Verify the printer comes online after SNMP change
cr0x@server:~$ powershell -NoProfile -Command "Get-Printer -Name 'Accounting-3F-Ricoh' | Select Name,PrinterStatus"
Name PrinterStatus
---- ------------
Accounting-3F-Ricoh Normal
Ce que cela signifie : Windows a cessé de l’afficher Hors ligne.
Décision : Imprimez une page de test ou envoyez un petit travail. Ensuite standardisez ce réglage pour les imprimantes similaires.
Task 6: If you must keep SNMP, test UDP/161 reachability from Linux
cr0x@server:~$ nc -vz -u 10.20.30.45 161
Connection to 10.20.30.45 161 port [udp/snmp] succeeded!
Ce que cela signifie : Au moins le chemin réseau vers UDP/161 est ouvert (note : « succeeded » sur UDP n’est pas une preuve complète de réponse).
Décision : Enchaînez avec une vraie requête SNMP.
Task 7: Validate SNMP community and device index with an SNMP query
cr0x@server:~$ snmpget -v2c -c public 10.20.30.45 1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: RICOH MP C4504ex / 1.23 / NIC 1.0
Ce que cela signifie : SNMP répond avec la chaîne de communauté attendue.
Décision : Si cela échoue (timeout), les vérifications d’état basées sur SNMP échoueront aussi. Soit corrigez SNMP bout en bout, soit désactivez le statut SNMP sur le port Windows.
Task 8: Test the actual print transport (TCP/9100) from Linux
cr0x@server:~$ nc -vz 10.20.30.45 9100
Connection to 10.20.30.45 9100 port [tcp/*] succeeded!
Ce que cela signifie : La socket s’ouvre. C’est un fort signal que le transport est joignable.
Décision : Si 9100 est bloqué mais que SNMP fonctionne, Windows peut afficher En ligne tandis que les travaux échouent — mode de panne différent. Corrigez le pare‑feu/ACL pour le protocole d’impression.
Task 9: Confirm the device’s web UI is reachable (helps catch IP changes)
cr0x@server:~$ curl -I http://10.20.30.45/
HTTP/1.1 200 OK
Server: Embedded-Web-Server
Content-Type: text/html
Ce que cela signifie : HTTP répond, ce qui réduit la probabilité d’une IP complètement fausse, mais ne prouve pas l’impression.
Décision : Si HTTP échoue mais que le ping fonctionne, vous pourriez avoir un pare‑feu captif de l’imprimante ou la mauvaise adresse. Confirmez via DHCP/ARP.
Task 10: Check ARP to detect IP conflicts (the sneaky kind)
cr0x@server:~$ arp -an | grep 10.20.30.45
? (10.20.30.45) at 00:26:73:aa:bb:cc [ether] on eth0
Ce que cela signifie : Vous avez une adresse MAC pour cette IP.
Décision : Comparez‑la à ce que l’imprimante affiche sur sa page de configuration. Si ça ne correspond pas, vous avez un conflit IP ou un échange d’appareil, et Windows parle au mauvais appareil.
Task 11: On Windows, restart the Print Spooler and immediately re-check state
cr0x@server:~$ powershell -NoProfile -Command "Restart-Service Spooler -Force; Start-Sleep 2; Get-Service Spooler | Select Status,Name"
Status Name
------ ----
Running Spooler
Ce que cela signifie : Le spooler fonctionne de nouveau. Ça nettoie certaines files bloquées et état de monitor.
Décision : Si Hors ligne devient Normal uniquement après le redémarrage puis redevient Hors ligne, suspectez la surveillance d’état (SNMP/WSD) ou un pilote/port monitor instable.
Task 12: Check PrintService operational log for port/driver errors
cr0x@server:~$ powershell -NoProfile -Command "Get-WinEvent -LogName 'Microsoft-Windows-PrintService/Operational' -MaxEvents 5 | Select-Object TimeCreated,Id,LevelDisplayName,Message | Format-List"
TimeCreated : 2/4/2026 9:41:02 AM
Id : 372
LevelDisplayName : Error
Message : The document Print Document, owned by user DOMAIN\jdoe, failed to print on printer Accounting-3F-Ricoh. Data type: RAW. Size of the spool file: 24576 bytes. Error: The device is not ready.
TimeCreated : 2/4/2026 9:40:51 AM
Id : 808
LevelDisplayName : Warning
Message : Printer Accounting-3F-Ricoh was paused due to a port error.
Ce que cela signifie : Vous voyez des échecs concrets : « port error », « device is not ready », et des horodatages.
Décision : Les erreurs de port vous orientent vers la configuration du port (SNMP/WSD/protocole). « Device not ready » peut toujours être un blocage SNMP, mais aussi pointer vers la veille/éveil du firmware ou l’état physique de l’appareil.
Task 13: Confirm whether the printer is using WSD (often the intermittent villain)
cr0x@server:~$ powershell -NoProfile -Command "Get-PrinterPort | Where-Object { $_.Name -like 'WSD*' } | Select-Object -First 3 Name,PrinterHostAddress,Protocol"
Name PrinterHostAddress Protocol
---- ------------------ --------
WSD-3a4b5c6d-7e8f-9012-3456 10.20.30.45 WSD
WSD-11223344-5566-7788-99aa 10.20.30.88 WSD
WSD-a1b2c3d4-e5f6-7788-9900 10.20.31.12 WSD
Ce que cela signifie : Si votre imprimante affectée utilise un port WSD, vous êtes en territoire découverte.
Décision : Préférez un Standard TCP/IP Port avec une IP statique (ou réservation DHCP) pour les imprimantes critiques pour l’entreprise.
Task 14: Recreate the port cleanly (good for corrupted port monitor state)
cr0x@server:~$ powershell -NoProfile -Command "Add-PrinterPort -Name 'IP_10.20.30.45' -PrinterHostAddress '10.20.30.45'; Set-Printer -Name 'Accounting-3F-Ricoh' -PortName 'IP_10.20.30.45'; Get-Printer -Name 'Accounting-3F-Ricoh' | Select Name,PortName"
Name PortName
---- --------
Accounting-3F-Ricoh IP_10.20.30.45
Ce que cela signifie : Vous avez déplacé l’imprimante vers un objet port neuf.
Décision : Configurez explicitement ce port (protocole, SNMP off ou correct), puis retestez. Si cela corrige, l’ancien objet port était mal configuré ou obsolète.
Task 15: Flush stuck jobs (only after you’ve recorded evidence)
cr0x@server:~$ powershell -NoProfile -Command "Get-PrintJob -PrinterName 'Accounting-3F-Ricoh' | Select-Object -First 3 ID,DocumentName,JobStatus"
ID DocumentName JobStatus
-- ------------ ---------
19 Quarterly-Budget.xlsx Error, Offline
20 Benefits-Handbook.pdf Spooling
21 Invoice-Run-0204.pdf Printing
cr0x@server:~$ powershell -NoProfile -Command "Get-PrintJob -PrinterName 'Accounting-3F-Ricoh' | Remove-PrintJob"
Ce que cela signifie : Vous videz une file coincée qui peut maintenir l’imprimante dans un mauvais état.
Décision : Si les travaux se reclouent immédiatement avec Hors ligne, revenez à la surveillance du port et à la stabilité du pilote plutôt que de répéter le rituel de purge.
Task 16: Validate driver isolation by swapping to a known-stable class driver
cr0x@server:~$ powershell -NoProfile -Command "Get-PrinterDriver | Where-Object { $_.Name -match 'Microsoft|Generic' } | Select-Object -First 5 Name"
Name
----
Microsoft IPP Class Driver
Microsoft PS Class Driver
Microsoft PCL6 Class Driver
Generic / Text Only
Send To OneNote 16 Driver
Ce que cela signifie : Vous avez des pilotes alternatifs disponibles.
Décision : Si l’imprimante revient en ligne et imprime avec un pilote de classe Microsoft mais pas avec le pilote du constructeur, le monitor/driver du constructeur est votre instabilité. Standardisez ou verouillez les versions.
Trois mini‑histoires d’entreprise (comment ça foire en conditions réelles)
1) L’incident causé par une fausse hypothèse : « Ping signifie que tout va bien »
Un étage finance avait une seule MFP à fort volume qui traitait tout, des factures aux dossiers de conformité.
Un matin elle est passée en « Hors ligne » sur la moitié des postes après une fenêtre de changements de sécurité.
L’équipe poste de travail a fait ce que font les équipes poste sous pression : ils ont pingué l’imprimante, vu des réponses, et conclu que le réseau était innocent.
Puis ils ont réinstallé les pilotes. À répétition. La file a grossi. Les gens transportaient le papier comme en 1997.
L’équipe réseau a été appelée tardivement. Ils ont vérifié la liste de changements du pare‑feu et ont trouvé une règle resserrant l’e‑gress UDP.
TCP/9100 était autorisé. HTTPS vers l’appareil était autorisé. UDP/161 ne l’était pas.
C’était tout le mystère : le Standard TCP/IP Port de Windows était configuré avec SNMP status activé, utilisant « public ».
La sonde SNMP a échoué, Windows a déclaré l’imprimante morte et a refusé d’envoyer des travaux — alors que l’impression RAW aurait fonctionné.
La correction a été double : désactiver les vérifications de statut SNMP sur les ports côté client, et configurer la supervision séparément de l’impression.
La leçon n’était pas « les pare‑feu sont mauvais ». La leçon était « n’utilisez pas un protocole de surveillance comme un verrou de disponibilité ».
Ensuite, ils ont ajouté un runbook d’une page : si le ping fonctionne mais que l’impression est hors ligne, testez le 9100 et vérifiez le statut SNMP sur le port.
Le MTTR est passé d’heures à minutes parce que l’équipe a cessé de se fier au mauvais signal.
2) L’optimisation qui s’est retournée contre eux : « Utilisons WSD, c’est moderne »
Un déploiement mondial a standardisé sur les ports WSD de Windows parce que cela facilitait le déploiement initial.
Branchez une imprimante, laissez Windows la découvrir, les utilisateurs peuvent imprimer — pas besoin de coordonner les réservations d’IP à travers des dizaines de sites.
Pendant quelques mois c’était la victoire. Puis les petites bizarreries ont commencé.
Les appareils montraient Hors ligne après une mise à jour de firmware, puis « revenaient » après un redémarrage.
Certaines imprimantes restaient En ligne mais les travaux disparaissaient dans un purgatoire « Printing… ».
Dans un bureau, une imprimante s’est renommée dans Windows après avoir été remplacée, cassant des scripts qui mappaient les imprimantes par nom.
Le dépannage était difficile parce que WSD abstrait le transport et la découverte. Vous n’avez pas une identité port/IP stable sur laquelle raisonner rapidement.
Le retour de bâton est arrivé lors d’un projet de segmentation réseau.
Le trafic de découverte multicast a été restreint entre VLANs, et la découverte WSD a perdu en fiabilité.
Les imprimantes sont apparues Hors ligne par vagues selon le sous‑réseau dans lequel un portable se déplaçait.
« Mais ça marchait hier » était vrai ; « c’est conçu pour ça » ne l’était pas.
La correction finale a été volontairement ennuyeuse : IP statiques (ou réservations DHCP), ports Standard TCP/IP, RAW/9100 ou IPP selon le modèle, statut SNMP désactivé sauf si explicitement nécessaire et supporté.
Ils ont continué à utiliser la découverte — mais seulement pour l’inventaire initial, pas pour l’impression de production.
3) La pratique ennuyeuse mais correcte qui a sauvé la mise : « Verrouillez la baseline connue‑bonne »
Dans une entreprise de taille moyenne avec un serveur d’impression central, le parc imprimantes était un mélange de constructeurs et d’années modèle.
L’équipe maintenait une baseline simple : chaque file d’impression avait une IP documentée, un protocole de port et une version de pilote testée.
Le statut SNMP était désactivé sauf si l’appareil se trouvait dans un sous‑réseau contrôlé avec accès SNMP confirmé et une chaîne de communauté non par défaut.
Ils gardaient aussi le journal PrintService Operational activé et reportaient les événements clés.
Un jeudi, une mise à jour de pilote fournisseur a été poussée comme partie des « améliorations de routine ».
En moins d’une heure, plusieurs files ont commencé à afficher Hors ligne de façon intermittente, et le processus spooler sur le serveur a montré de brèves montées CPU.
Le help desk a vu « Hors ligne » et s’est préparer au chaos habituel.
Mais l’équipe avait la baseline et un plan de rollback.
Ils ont comparé les paramètres de port d’une file affectée à la baseline et ont découvert que la mise à jour avait réactivé les vérifications de statut SNMP.
Elle avait aussi changé l’index d’appareil SNMP sur certains ports — inoffensif sur le papier, fatal en production.
Ils ont reverté le paquet de pilotes, réappliqué le template de port baseline, et l’incident s’est terminé avant que la plupart des utilisateurs ne s’en rendent compte.
Personne n’applaudit une équipe pour avoir un tableau et une checklist ennuyeuse.
En revanche, personne n’applaudit pendant une panne d’impression non plus — ils se contentent de regarder d’un air mauvais.
Blague n°2 : Une panne d’imprimante est le seul incident où tout le monde devient soudainement expert du « chemin critique ».
Erreurs courantes : symptôme → cause racine → correctif
1) Symptom: “Offline” but ping works
- Cause racine : La vérification de statut SNMP échoue ; le port monitor Windows marque l’imprimante Hors ligne.
- Correctif : Désactivez SNMP Status Enabled sur le Standard TCP/IP Port, ou réparez SNMP (UDP/161 autorisé, communauté correcte, index d’appareil correct).
2) Symptom: Printer shows Online, jobs hang at “Printing…”
- Cause racine : TCP/9100 bloqué, appareil bloqué, ou mauvais protocole (RAW vs LPR) par rapport à ce que l’appareil attend.
- Correctif : Testez la connectivité TCP vers le port (9100/515/631). Alignez le protocole du port Windows avec la configuration de l’appareil. Vérifiez le journal des travaux côté appareil.
3) Symptom: Printer flips Offline after sleep, then comes back after reboot
- Cause racine : La mise en veille du firmware coupe SNMP ou retarde les réponses ; la surveillance expire et marque Hors ligne.
- Correctif : Désactivez le statut SNMP, augmentez les délais (là où c’est possible), ou ajustez les paramètres de mise en veille pour les imprimantes gérées.
4) Symptom: Only some users see Offline; others print fine
- Cause racine : Différents ports/protocoles par client, mélange WSD vs TCP/IP, ou différences d’ACL par sous‑réseau.
- Correctif : Standardisez le déploiement via un serveur d’impression, supprimez les ports WSD, et appliquez un template de port unique par modèle/site.
5) Symptom: Offline started after a driver update
- Cause racine : L’installeur du pilote a réinitialisé les paramètres du port, réactivé la surveillance SNMP, ou changé la pile du monitor.
- Correctif : Comparez les paramètres de port avant/après. Réappliquez la baseline (SNMP off sauf si requis). Verrouillez les versions de pilotes.
6) Symptom: Printer IP is correct in documentation, but Windows still “Offline”
- Cause racine : Conflit IP, échange d’appareil, ou réaffectation DHCP sans réservation.
- Correctif : Validez la MAC via ARP, confirmez la page de configuration de l’imprimante, et passez à une réservation DHCP ou une IP statique avec gestion des changements.
7) Symptom: Restarting spooler “fixes it” for a bit
- Cause racine : Etat de port monitor instable, corruption de file, ou instabilité du pilote que le redémarrage efface temporairement.
- Correctif : Corrigez le problème en amont : surveillance de port (SNMP/WSD), version du pilote, ou recréez proprement le port/la file.
8) Symptom: Print server shows Offline, but direct IP printing from a workstation works
- Cause racine : Le sous‑réseau du serveur ne peut pas atteindre SNMP ou le protocole d’impression configuré, ou les paramètres du port sur le serveur diffèrent.
- Correctif : Testez depuis le serveur spécifiquement. Alignez les paramètres de port du serveur. Ne supposez pas que la connectivité poste = connectivité serveur.
Checklists / plan étape par étape
Checklist A: Fix a single workstation fast (tactical)
- Récupérez le nom de l’imprimante tel que Windows le voit (PowerShell
Get-Printer). - Vérifiez l’état Work Offline :
- Si
WorkOffline=True, mettez‑le à false (UI ou stratégie) et retestez.
- Si
- Trouvez le nom du port (
Get-Printer -Name ... | Select PortName). - Inspectez les paramètres du port (
Get-PrinterPort) :- Si
SNMPEnabled=True, désactivez‑le à titre de diagnostic.
- Si
- Revérifiez le statut et imprimez une page de test.
- Si toujours Hors ligne :
- Confirmez la connectivité vers le protocole d’impression (TCP/9100 ou autres) depuis le réseau du poste.
- Recréez le port et rattachez‑y l’imprimante.
- Si le spooler est bloqué :
- Capturez les logs PrintService, puis redémarrez le spooler une fois.
- Si c’est spécifique au pilote :
- Testez avec le pilote Microsoft PS/PCL pour isoler les problèmes du pilote fournisseur.
Checklist B: Fix the fleet (strategic, the part that stops repeats)
- Décidez du standard de transport d’impression par classe de modèle :
- RAW/9100 est simple et largement supporté.
- IPP peut être excellent dans des environnements modernes, mais standardisez‑le intentionnellement.
- Évitez WSD pour les files partagées critiques sauf si vous pouvez garantir le comportement multicast de découverte.
- Attribuez des identités stables :
- Utilisez des réservations DHCP ou des IP statiques avec gestion des changements.
- Gardez les enregistrements DNS cohérents si vous imprimez par nom.
- Séparez la supervision de l’impression :
- Si vous avez besoin de SNMP pour la télémétrie du parc, faites‑le depuis un outil/subnet de monitoring avec une configuration SNMP fiable.
- Ne laissez pas SNMP décider si Windows va même tenter d’imprimer.
- Baseline de configuration des ports :
- Statut SNMP désactivé par défaut.
- Si activé : communauté non par défaut, ACL validées, comportement d’index d’appareil documenté.
- Verrouillez les versions de pilotes :
- Testez les mises à jour dans une OU pilote avant déploiement.
- Documentez les étapes de rollback.
- Centralisez via un serveur d’impression (si approprié) :
- Un ensemble de ports à gérer.
- Distribution de pilotes cohérente.
- Meilleurs journaux et contrôle.
- Activez et exploitez les logs :
- Gardez le log PrintService Operational activé.
- Décidez quelles erreurs sont actionnables et orientez‑les vers la bonne équipe.
- Documentez le runbook « Hors ligne » :
- Quoi vérifier d’abord (paramètres du port) et sur quoi ne pas perdre de temps (réinstaller le pilote par réflexe).
Checklist C: When security hardening is involved (the predictable collision)
- Confirmez les ports requis par méthode d’impression (ne devinez pas).
- Si SNMP est bloqué, désactivez proactivement le statut SNMP sur tous les Standard TCP/IP ports utilisés pour l’impression.
- Si SNMP doit être autorisé, définissez la portée : autorisez UDP/161 depuis le(s) serveur(s) d’impression vers les imprimantes uniquement, pas depuis chaque poste.
- Après des changements de pare‑feu, validez avec un vrai travail d’impression et un test protocolaire (9100/515/631), pas seulement un ping.
FAQ
1) Pourquoi désactiver SNMP rend‑il l’imprimante « En ligne » instantanément ?
Parce que Windows cesse d’utiliser les réponses SNMP comme signal de vie pour ce port.
Si l’impression via TCP/9100 fonctionne, Windows peut renvoyer des travaux sans attendre le succès de UDP/161.
2) Vais‑je perdre les niveaux de toner et l’état des bacs si je désactive le statut SNMP ?
Souvent, oui — du moins dans l’UI Windows.
C’est un compromis : statut riche contre livraison fiable des travaux. Pour la plupart des environnements de production, la fiabilité l’emporte.
Utilisez un outil de monitoring dédié pour la télémétrie SNMP plutôt que de dépendre de cela depuis le poste utilisateur.
3) « SNMP Status Enabled » est‑ce un réglage du pilote ou de Windows ?
C’est un réglage de port sur l’objet Standard TCP/IP Port dans Windows.
Les pilotes et installateurs peuvent le modifier (parfois « à titre d’aide »), ce qui explique pourquoi il réapparaît après des mises à jour.
4) Qu’en est‑il de SNMP v3 ?
Certains environnements utilisent SNMP v3 pour la sécurité, mais le comportement de base de la surveillance de port de Windows reste conceptuellement le même : il attend une réponse SNMP.
Si v3 n’est pas configuré bout en bout (appareil, ACL, credentials), vous verrez toujours des symptômes Hors ligne.
5) Pourquoi cela arrive‑t‑il seulement sur les portables ou quand les utilisateurs se déplacent ?
Parce que différents réseaux ont différentes ACL. Un VLAN peut autoriser UDP/161 ; un autre non.
Ou le multicast nécessaire à la découverte WSD fonctionne à un endroit et pas à un autre. Standardisez les ports et évitez l’impression dépendante de la découverte pour les utilisateurs nomades.
6) Devrait‑on utiliser RAW (9100) ou IPP ?
RAW est simple et omniprésent. IPP peut être excellent et plus moderne, surtout avec des appareils et pilotes récents.
Choisissez une option par classe de dispositif et supportez‑la intentionnellement. L’ennemi réel est « des configurations par défaut mélangées et aléatoires ».
7) Pourquoi réinstaller l’imprimante « règle » parfois le Hors ligne ?
La réinstallation recrée souvent l’objet port, réinitialise les timeouts ou bascule le comportement de surveillance.
Ce n’est pas une solution ; c’est un lancer de dés qui tombe parfois sur une meilleure configuration.
Vous voulez la vraie cause racine : blocage SNMP, fragilité WSD, ou problème de pilote.
8) Une imprimante peut‑elle être En ligne dans Windows mais ne pas imprimer ?
Absolument. « En ligne » peut être basé sur SNMP, mais l’impression peut échouer à cause de blocages TCP/9100, d’erreurs de rendu du pilote, d’authentification ou de files retenues côté appareil.
Testez toujours le transport d’impression réel et vérifiez les journaux PrintService.
9) Ce problème est‑il pire sur les serveurs d’impression ?
Ça peut l’être. Les serveurs d’impression centralisent la dépendance : une configuration de port impacte de nombreux utilisateurs.
C’est aussi pourquoi corriger le serveur est puissant — normalisez les paramètres de port une fois, et tout le bureau souffre moins.
10) Quelle est la meilleure mesure préventive unique ?
Standardisez vos ports : Standard TCP/IP Port avec une IP stable, un protocole connu, et le statut SNMP désactivé sauf si vous avez prouvé que SNMP est fiable sur ce chemin.
Conclusion : prochaines étapes que vous pouvez normaliser
L’imprimante qui est « Hors ligne » pour toujours n’est généralement pas cassée. Windows est simplement convaincu qu’elle l’est, parce qu’un port monitor n’a pas obtenu de réponse SNMP.
Ce n’est pas un mystère réseau. C’est une erreur de configuration avec un tranchant très net.
Prochaines étapes pratiques :
- Pour l’incident en cours : Inspectez le port de l’imprimante. Si le statut SNMP est activé, désactivez‑le et revérifiez le statut.
- Pour le prochain incident : Ajoutez des tests de protocole à votre runbook : TCP/9100 (ou 515/631) et SNMP seulement quand pertinent.
- Pour la stabilité à long terme : Standardisez sur des IP/ports stables, évitez WSD pour les files critiques, verouillez les versions de pilotes et séparez la télémétrie (SNMP) de la livraison des travaux.
L’impression ne sera jamais glamour. Mais elle peut être prévisible, et la prévisibilité est tout l’objet des opérations.