Soluções Tecnológicas para Empresas – Revenda Oficial
Whatsapp: (11) 4270-0585
Telefone: (11) 4270-0585
Por 01IT em 08/09/2026
A impressora está online, o driver instalou, e nada sai: o método de diagnóstico que resolve em 15 minutos

Todo técnico de suporte já viveu esta cena. A impressora de rede responde ao ping. A interface web abre no navegador. O driver instalou sem erro. O Windows mostra a fila como "Pronta". Você manda a página de teste, ela entra na fila com status Imprimindo, e fica ali. Para sempre. Sem erro, sem mensagem, sem papel.

O instinto manda reinstalar o driver. Depois trocar a porta. Depois reiniciar o spooler. Depois reinstalar de novo, agora com o utilitário do fabricante. Três horas depois você está no mesmo lugar, com quatro portas órfãs e duas filas fantasma que não removem.

O problema não é técnico. É de método. Impressão em rede é uma pilha de camadas, e quase todo mundo diagnostica pelo meio dela, pelo driver, que é justamente a camada mais visível e menos provável.

Este artigo apresenta um roteiro que testa cada camada isoladamente, na ordem certa, com PowerShell. Ele não depende de conhecer o modelo da impressora nem o fabricante do driver. E ele te diz, em poucos comandos, exatamente onde a coisa quebra.

Nos exemplos, considere o IP 192.168.1.50 e a fila Impressora Rede. Substitua pelos valores do seu ambiente.


A pilha de impressão, de baixo para cima

Antes dos comandos, o mapa mental. Quando um documento sai da tela e chega ao papel, ele percorre:

  1. Rede. O PC alcança o IP da impressora?
  2. A impressora. Ela aceita e processa dados brutos?
  3. O spooler. O serviço de impressão do Windows está funcional?
  4. O driver. Ele renderiza o documento corretamente?
  5. A porta. O monitor de porta entrega os bytes à rede?
  6. O filtro de segurança. Firewall e EDR deixam o spoolsv.exe sair?
  7. O papel. O tamanho declarado bate com o que está na bandeja?

Cada camada tem um teste isolado. A regra é simples: teste de baixo para cima e pare na primeira que falhar. Não adianta reinstalar driver, que é camada 4, se a camada 6 está bloqueando.


Camada 1. A rede alcança a impressora?

Test-NetConnection 192.168.1.50 -Port 9100    # RAW / JetDirect
Test-NetConnection 192.168.1.50 -Port 631     # IPP
Test-NetConnection 192.168.1.50 -Port 515     # LPR / LPD

TcpTestSucceeded : True na 9100 significa que rede, VLAN, roteamento e firewall de perímetro estão fora da conta.

Armadilha nº 1: Test-NetConnection só testa TCP

Test-NetConnection 192.168.1.50 -Port 161     # SNMP, SEMPRE vai falhar

SNMP roda em UDP. Esse teste retorna False mesmo com o SNMP perfeitamente funcional. É um falso negativo que já mandou muito técnico caçar problema onde não havia. Se precisar validar SNMP de verdade, use snmpwalk ou o módulo SNMP do Windows, nunca o Test-NetConnection.


Camada 2. A impressora aceita dados? O teste que separa tudo

Este é o comando mais valioso do artigo. Ele abre um socket direto na porta 9100 e escreve texto puro, ignorando completamente o spooler, o driver e a porta do Windows:

$c = New-Object System.Net.Sockets.TcpClient('192.168.1.50',9100)
$s = $c.GetStream()
$b = [Text.Encoding]::ASCII.GetBytes("Teste RAW 9100`r`n`f")
$s.Write($b,0,$b.Length); $s.Flush(); Start-Sleep 2; $c.Close()

O `f no final é o form feed. Sem ele a impressora segura a página esperando mais dados.

Saiu papel? Rede, impressora e cabo ou Wi-Fi estão provados. Tudo que falhar daqui pra frente está dentro do Windows. Você acabou de eliminar metade das hipóteses em dez segundos.

Não saiu papel? O problema é a impressora ou a sessão TCP. Desligue-a da tomada por 30 segundos, porque o botão liga/desliga não derruba sessões TCP presas. A maioria das impressoras aceita apenas uma conexão RAW por vez, e uma sessão meio-aberta trava todas as seguintes.


Camada 3. O spooler está vivo?

Teste trivial e decisivo: abra o Bloco de Notas, digite qualquer coisa e imprima em Microsoft Print to PDF.

Gerou o arquivo? O spooler renderiza, processa e conclui jobs normalmente. Note que essa fila usa o monitor PORTPROMPT:, não o monitor TCP/IP. Ou seja, ela prova o spooler sem provar a rede. É exatamente essa separação que a torna útil.

Se o PDF também travar, o subsistema de impressão está corrompido e o reset é obrigatório:

net stop spooler
Remove-Item "C:\Windows\System32\spool\PRINTERS\*" -Recurse -Force
net start spooler

Camada 4. O driver é o culpado?

Instale uma fila temporária com o driver Generic / Text Only, apontando para a mesma porta da impressora problemática:

Configurações → Impressoras → Adicionar dispositivo → "A impressora que eu quero não está listada" → Adicionar uma impressora local ou de rede usando configurações manuais → Usar uma porta existente → selecione a porta → Fabricante Generic → Generic / Text Only.

Imprima uma linha do Bloco de Notas.

  • Saiu. O caminho spooler, porta e rede funciona. O driver do fabricante é o problema. Reinstale ou troque pelo Universal Print Driver.
  • Não saiu. O driver está inocente. Siga para a camada 5.

Aviso importante: Generic / Text Only envia apenas texto ASCII. É ferramenta de diagnóstico, não solução. Se você deixá-la em produção, o cliente vai imprimir Bloco de Notas normalmente e reclamar dois dias depois que "PDF não imprime". Remova assim que terminar o teste.

Não use "Adicionar uma impressora usando endereço TCP/IP" para esse teste. Esse assistente faz descoberta por SNMP e falha com "O dispositivo não foi encontrado na rede" em qualquer ambiente com SNMP desabilitado, perdendo seu tempo com um erro que não tem relação com o problema.


Camada 5. Monitorando o fluxo: os três comandos que mostram a verdade

Aqui está o núcleo do método. Mande um único job, deixe-o travar, e rode os três blocos abaixo em sequência.

5.1. O estado do job

Get-PrintJob -PrinterName "Impressora Rede" |
  Format-List Id,JobStatus,Size,SubmittedTime

Como interpretar o JobStatus:

JobStatus Significado
Normal na fila, aguardando a vez
Printing entregue ao monitor de porta
Printing, Retained entregue e preso, não avançou
Error, Printing, Retained falhou e está em loop de retry
Spooling ainda sendo renderizado pelo driver

5.2. O spooler está mesmo falando com a rede?

Get-NetTCPConnection -RemoteAddress 192.168.1.50 -ErrorAction SilentlyContinue |
  Format-Table LocalPort,RemotePort,State,OwningProcess -AutoSize

Este é o comando decisivo, e a leitura é binária:

  • Aparece conexão na 9100. O spooler conectou. O problema virou "a impressora não consome os dados": driver errado, linguagem incompatível ou papel divergente.
  • Nenhuma conexão na 9100. O spooler nem tenta abrir o socket. O job morre antes da rede. Isso aponta para firewall, EDR, porta corrompida ou política de bloqueio.

Ignore conexões em TimeWait nas portas 80, 443 e 631. São resíduo do serviço de descoberta de rede conversando com a interface web da impressora e não têm relação com o job.

5.3. O log que ninguém habilita

O log operacional do serviço de impressão vem desabilitado por padrão no Windows. Ligue-o:

wevtutil sl Microsoft-Windows-PrintService/Operational /e:true

Reproduza a falha, depois leia:

Get-WinEvent -LogName Microsoft-Windows-PrintService/Operational -MaxEvents 20 |
  Format-Table TimeCreated,Id,LevelDisplayName,Message -Wrap

Os IDs que importam:

ID O que significa
800 job entrou no spool
801 job iniciado
805 processador de impressão assumiu
842 job entregue ao processador, traz o código de erro Win32
307 documento impresso com sucesso, mostra porta, bytes e páginas
310 documento excluído
372 falha na renderização

O evento 307 é a confirmação definitiva de sucesso. Ele nomeia a porta usada e a quantidade de bytes:

O documento 3 ... foi impresso em Impressora Rede pela porta PRN_RAW.
Tamanho em bytes: 16092. Páginas impressas: 1.

O evento 842 traz o retorno do processador. 0x0 é sucesso. Alguns códigos comuns:

Código Decimal Significado
0x0 0 sucesso
0xBBB 3003 ERROR_SPL_NO_STARTDOC, spool abortado, tipicamente job cancelado
0xBBA 3002 arquivo de spool não encontrado
0xBC0 3008 monitor de porta em uso

Cuidado com o 0xBBB. Ele aparece toda vez que alguém cancela um job, então é frequentemente uma consequência dos seus próprios testes, não a causa da falha. Verifique se há um evento 310 no mesmo horário antes de investigar.

A sequência 800, depois 801, depois silêncio é o padrão da falha silenciosa: spoolou, iniciou, e nunca entregou. Combinada com ausência de conexão TCP, aponta direto para bloqueio de segurança.


Camada 6. O antivírus está filtrando o spooler

Se a camada 5 mostrou job em Printing sem nenhuma conexão TCP, este é o suspeito principal.

Soluções de EDR corporativo trazem módulos de firewall com regras específicas para tráfego de impressão, frequentemente negadas por padrão. E o comportamento é traiçoeiro: o teste RAW manual da camada 2 passa, porque a regra é vinculada ao processo spoolsv.exe, não à porta. Seu PowerShell não é o spooler.

Teste: desative o firewall do antivírus por dois minutos, limpe a fila e reenvie. Saiu papel? Confirmado.

Correção permanente, no console de gerenciamento e nunca localmente na estação:

  1. Verifique se existe uma regra de impressão em rede e se está em Permitir.
  2. Confira o perfil de rede do adaptador. Este é o passo que quase todo mundo pula. Suítes corporativas classificam cada adaptador em perfis de confiança, e as regras de firewall costumam se aplicar apenas a alguns deles. Um adaptador Wi-Fi classificado como "não confiável" bloqueia tudo, e nenhuma regra de impressão vai valer. Você pode colocá-la em Permitir mil vezes sem efeito.
  3. Se necessário, crie regra explícita em prioridade 1:
Campo Valor
Aplicação %windir%\System32\spoolsv.exe
Direção Saída
Protocolo TCP
Porta remota 9100
Endereço remoto a sub-rede da impressora
  1. Valide a propagação. Mudança de política não é instantânea. Force a sincronização e confira a data da última atualização de política na estação antes de testar. Testar com política antiga produz falso negativo e faz você descartar a correção certa.

Estações fora do domínio e em Wi-Fi são as mais afetadas. Não herdam perfil de rede nem GPO, e caem no perfil mais restritivo por padrão.


Camada 7. O papel

A impressão funciona, mas alguns documentos, tipicamente PDFs, travam. Olhe o tamanho de papel no preview do leitor de PDF:

  • 215,9 × 279,4 mm equivale a Carta (Letter)
  • 210 × 297 mm equivale a A4

Se o driver declara Carta e a bandeja tem A4, a impressora segura o job esperando confirmação no painel, sem erro nenhum no Windows. Confira o tamanho configurado na impressora, normalmente em Estado do produto ou Alimentação na interface web, e alinhe:

Configurações → Impressoras → a fila → Preferências de impressão → tamanho A4 → Aplicar.

E vá olhar o painel físico da impressora. Provavelmente tem uma mensagem esperando alguém apertar OK.


Matriz de decisão

Cruze os resultados e vá direto à correção:

Socket RAW Print to PDF Generic/Text Conexão 9100 Diagnóstico
falha . . . Impressora ou sessão TCP presa. Power cycle na tomada
OK falha . . Spooler corrompido. Reset do subsistema
OK OK OK sim Driver do fabricante. Reinstalar ou trocar por Universal
OK OK falha não Firewall ou EDR bloqueando o spoolsv.exe
OK OK falha sim Porta corrompida. Recriar porta limpa
OK OK OK sim, mas só texto sai Tamanho de papel divergente

As sete armadilhas que fazem você perder horas

1. Job zumbi na cabeça da fila. Um job travado em Error, Retained bloqueia todos os que entram depois. Se você trocar a porta, testar, trocar o driver, testar, e sempre houver um zumbi na frente, nenhum teste seu tem validade. Limpe a fila antes de cada teste:

net stop spooler
Remove-Item "C:\Windows\System32\spool\PRINTERS\*" -Recurse -Force
net start spooler
Get-PrintJob -PrinterName "Impressora Rede"   # tem que voltar vazio

2. SNMP habilitado na porta. Com SNMP bloqueado na rede, o Windows não consegue consultar o status, marca a impressora como Offline e a fila trava sem enviar nada. Vá em Propriedades → Portas → Configurar Porta e desmarque "Status SNMP Ativado". Desmarque também "Habilitar suporte bidirecional" na aba Portas.

3. Portas duplicadas do utilitário do fabricante. Instaladores criam portas proprietárias e portas WSD que dependem de SNMP ou multicast, ambos frequentemente bloqueados em redes gerenciadas. Audite sempre:

Get-PrinterPort | Format-Table Name,Description,PrinterHostAddress,PortNumber,Protocol,SNMPEnabled -AutoSize
Get-Printer | Format-Table Name,DriverName,PortName,PrinterStatus -AutoSize

Uma fila apontada para porta proprietária trava sem abrir conexão TCP, porque tenta SNMP em UDP primeiro, e o Get-NetTCPConnection não mostra UDP. Você fica cego para a tentativa.

4. Filas fantasma que não removem. Se o Remove-Printer responde "nenhum objeto encontrado" mas o dispositivo continua na tela de Impressoras, ele não é uma fila do spooler. É um nó PnP criado por descoberta de rede. Remova pelo caminho certo:

Get-PnpDevice | Where-Object FriendlyName -like "*NOME*" | Format-List FriendlyName,Status,InstanceId
pnputil /remove-device "<InstanceId>"

E lembre: remoção de dispositivo não conclui com o spooler parado. Suba o serviço antes.

5. Add-PrinterPort não aceita URL HTTP. Para IPP, o cmdlet retorna 0x8007007B, que é erro de sintaxe. Portas IPP são criadas pelo cliente de impressão via Internet, não por esse cmdlet. Para criar porta TCP/IP limpa:

Add-PrinterPort -Name "PRN_RAW" -PrinterHostAddress "192.168.1.50" -PortNumber 9100
Set-Printer -Name "Impressora Rede" -PortName "PRN_RAW"

6. A GUI mente. A tela de configuração de porta pode mostrar Raw, 9100 e SNMP desmarcado enquanto o objeto real está diferente. Confie no Get-PrinterPort, não na janela.

7. IPP por URL exige recurso opcional. Adicionar impressora digitando http://IP:631/ipp/print falha com "O Windows não pôde se conectar" se o cliente não estiver instalado:

Enable-WindowsOptionalFeature -Online -FeatureName Printing-Foundation-InternetPrinting-Client -All

Para validar se o serviço IPP está vivo antes de tentar:

Invoke-WebRequest -Uri "http://192.168.1.50:631/ipp/print" -Method Get -UseBasicParsing

Um retorno HTTP 400 é resposta correta, porque o endpoint IPP espera POST e não GET. Erro 400 significa serviço funcionando.


Script de coleta rápida

Salve como Diag-Impressora.ps1 e rode como administrador. Ele reúne, em uma passada, tudo que você precisa para decidir:

param([string]$IP = "192.168.1.50", [string]$Fila)

Write-Host "`n=== CONECTIVIDADE ===" -ForegroundColor Cyan
9100,631,515 | ForEach-Object {
    $r = Test-NetConnection $IP -Port $_ -WarningAction SilentlyContinue
    "{0,-6} {1}" -f $_, $(if($r.TcpTestSucceeded){"ABERTA"}else{"fechada"})
}

Write-Host "`n=== FILAS ===" -ForegroundColor Cyan
Get-Printer | Format-Table Name,DriverName,PortName,PrinterStatus -AutoSize

Write-Host "`n=== PORTAS ===" -ForegroundColor Cyan
Get-PrinterPort | Format-Table Name,PrinterHostAddress,PortNumber,Protocol,SNMPEnabled -AutoSize

Write-Host "`n=== JOBS PENDENTES ===" -ForegroundColor Cyan
Get-Printer | ForEach-Object {
    Get-PrintJob -PrinterName $_.Name -ErrorAction SilentlyContinue
} | Format-Table PrinterName,Id,JobStatus,Size,SubmittedTime -AutoSize

Write-Host "`n=== CONEXOES COM A IMPRESSORA ===" -ForegroundColor Cyan
Get-NetTCPConnection -RemoteAddress $IP -ErrorAction SilentlyContinue |
    Format-Table LocalPort,RemotePort,State,OwningProcess -AutoSize

Write-Host "`n=== ULTIMOS EVENTOS DE IMPRESSAO ===" -ForegroundColor Cyan
wevtutil sl Microsoft-Windows-PrintService/Operational /e:true 2>$null
Get-WinEvent -LogName Microsoft-Windows-PrintService/Operational -MaxEvents 15 -ErrorAction SilentlyContinue |
    Format-Table TimeCreated,Id,Message -Wrap

O caso que originou este roteiro

Impressora multifuncional em rede Wi-Fi, estação Windows 11 fora do domínio, rede gerenciada por controladora corporativa.

Sintoma: driver instalava, fila aparecia como Pronta, jobs entravam e ficavam em "Imprimindo" indefinidamente.

Foram investigados e descartados, nesta ordem: SNMP na porta, suporte bidirecional, monitor de status do fabricante, portas duplicadas do instalador, filas WSD, isolamento de cliente na controladora Wi-Fi, corrupção do spooler, modo de impressão protegida do Windows e o próprio driver.

A causa real: o firewall do antivírus corporativo bloqueava o spoolsv.exe. A regra de impressão em rede estava corretamente em "Permitir", mas o adaptador Wi-Fi estava classificado num perfil de rede onde aquelas regras simplesmente não se aplicavam. Regra certa, perfil errado, efeito zero.

Depois disso, ainda faltava um detalhe. PDFs continuavam travando. O driver declarava papel Carta e a bandeja tinha A4. A impressora segurava o job esperando confirmação no painel.

Tempo total: cerca de três horas.

Com o roteiro deste artigo, o mesmo caso se resolve em quinze minutos. O teste de socket RAW eliminaria rede e impressora nos primeiros dois minutos, e o Get-NetTCPConnection mostrando zero conexão apontaria para bloqueio de segurança logo em seguida, antes de qualquer reinstalação de driver.


O princípio que fica

Impressão em rede falha em silêncio. Não há mensagem de erro útil, e o sintoma visível, "não imprime", é idêntico para sete causas completamente diferentes.

Por isso o diagnóstico não pode ser por tentativa e erro. Tem que ser por eliminação de camadas, de baixo para cima, com um teste isolado para cada uma.

Dois comandos carregam a maior parte do peso:

  • O socket RAW, que separa "problema de rede ou impressora" de "problema do Windows".
  • O Get-NetTCPConnection, que separa "o spooler tentou e falhou" de "o spooler nem tentou".

Responda essas duas perguntas primeiro e você elimina, em dois minutos, o que normalmente consome a tarde inteira.


Aguarde..