Guia prático e completo para que equipes de suporte implantem, mantenham e substituam impressoras em servidores de impressão Windows com zero (ou quase zero) impacto aos usuários — cobrindo filas, drivers, DHCP, segurança e automação.
Visão geral do problema
Em ambientes corporativos, o servidor de impressão centraliza filas, drivers e permissões. Quando surge a necessidade de adicionar novas filas, padronizar drivers usados por diferentes modelos ou trocar o equipamento mantendo o mesmo host‑name e endereço IP, a meta é uma só: evitar interrupções. Este artigo apresenta um procedimento seguro, baseado em boas práticas de Windows Server, para:
- Adicionar filas sem “surpresas” para o usuário final.
- Gerir drivers (modelo específico, universal, v3/v4) e isolamento de drivers.
- Substituir um MFP/laser mantendo nome e IP — preservando o endpoint utilizado pelo spooler.
- Entender o impacto da troca sobre clientes, reservas DHCP e filas existentes.
Conceitos essenciais (antes de mexer)
Elemento | O que importa | Risco comum |
---|---|---|
Fila de impressão | Nome, compartilhamento, permissões e porta (TCP/IP). | Renomear a fila sem comunicação/automação quebra o mapeamento dos clientes. |
Porta TCP/IP | IP/host, protocolo (RAW 9100 ou LPR) e SNMP Status. | SNMP Status com índice errado marca a fila como “Offline”. |
Driver | Compatibilidade PDL (PCL/PS/XPS), versão e assinatura. | Variações de driver podem alterar duplex, cor, grampear etc. |
Clientes | “Point and Print” baixa o driver do servidor quando necessário. | Cache de driver antigo conflitando com o novo. |
DHCP/DNS | Reserva de IP por MAC, registro A/AAAA e TTL. | MAC desatualizado na reserva (ou ARP/DNS desatualizado) após a troca. |
Adicionar uma nova impressora ao servidor (GUI)
- Abrir o console Print Management (
printmanagement.msc
). - Em Print Servers, botão direito → Add/Remove Servers e inclua o servidor (se ainda não aparecer).
- Expanda o servidor → Printers → botão direito Add Printer e siga o assistente:
- Selecione Network Printer (TCP/IP) ou Local Printer conforme o cenário.
- Informe IP ou nome do host e instale o driver adequado.
- Defina nome da fila, localização e comentários; conclua o assistente.
Dica de escala: em ambientes médios/grandes, use scripts PowerShell para padronizar nomes, portas e descrições. Veja exemplos adiante.
Drivers: armazenamento, associação e isolamento
- No Print Management, expanda o servidor e selecione Drivers.
- Botão direito → Add Driver para instalar pacotes x64 (e x86 se ainda houver clientes 32‑bit).
- Drivers Universal ou Class (v4) podem ser associados a múltiplas filas quando houver compatibilidade de PDL (PCL/PS).
- Ao criar/editar a fila, escolha Use an existing driver para reaproveitar o pacote já instalado.
Boas práticas de drivers
- Mantenha apenas versões assinadas/testadas; documente em change log a versão e data.
- Ative Driver Isolation = Shared para reduzir o risco de queda do spooler por falha de driver.
- Evite misturar PS e PCL aleatoriamente na mesma área; padronize por departamento/tipo de documento.
- Prefira RAW/9100 em vez de LPR quando possível (menos variáveis, menos overhead).
- Evite WSD para impressoras corporativas (descoberta dinâmica pode variar; TCP/IP é mais previsível).
V3 x V4, Universal x Específico — quando usar
Tipo | Use quando | Observações |
---|---|---|
V3 (Clássico) | Precisa de recursos avançados (acabadora, grampeador) não expostos no v4. | Ampla compatibilidade; atenção às políticas de segurança do “Point and Print”. |
V4 (Class) | Ambientes modernos e padronizados; drivers universais. | Interface mais simples; alguns recursos podem aparecer apenas via extensions do fabricante. |
Universal | Vários modelos do mesmo fabricante/PDL. | Simplifica estoque de drivers; valide qualidade de impressão em PDFs, códigos de barras etc. |
Modelo específico | Necessidade de acabamento/cores/calibração precisos. | Mantém fidelidade; exige mais manutenção em upgrades de modelo. |
Substituir o equipamento mantendo host‑name/IP (troca sem impacto)
Se o novo equipamento assume o mesmo host‑name e IP, o endpoint da porta TCP/IP continua válido e os usuários não precisam remapear filas. O fluxo recomendado:
Passos de pré‑troca
- Instale o novo driver no servidor (sem alterar filas ainda).
- Revise GPOs de Point and Print (servidores aprovados, drivers assinados e prompts de elevação).
- DHCP: se o IP é por reserva, atualize somente o MAC address na reserva.
- Valide conectividade com
Test-NetConnection <ip> -Port 9100
a partir do servidor.
No dia da troca
- Substitua fisicamente a impressora mantendo host‑name e IP.
- No servidor, abra Printer Properties → Advanced → Driver e selecione o novo driver (mesmo nome de fila).
- Revise Device Settings (bandejas, duplex, finalizador, A3/A4, grampear/capar): modelos novos costumam mudar capacidades padrão.
- Se a porta usa SNMP Status, ajuste o Device Index (em muitos casos,
1
) ou desative SNMP se o fabricante não reportar corretamente.
Pós‑troca
- Imprima página de teste e um documento de produção (PDF e DOCX) para conferir fontes e margens.
- Se houver scan to SMB/FTP/Email, valide credenciais, certificados e pastas.
- Monitore o log PrintService/Operational por 24–48 h (erros 372, 808, falhas de driver ou “access denied”).
Impacto em clientes
- Mínimo: a fila (nome compartilhado) continua a mesma. No primeiro trabalho, clientes baixam o driver atualizado do servidor (Point and Print).
- Se algum cliente mantiver cache do driver antigo, rode
gpupdate /force
ou remova o driver localmente (ver seção de solução de problemas). - Clientes que imprimem direto por IP (sem servidor) não se beneficiam deste método; converta para servidor de impressão ou reconfigure manualmente.
Checklist rápido de substituição segura
Etapa | Ação | Responsável |
---|---|---|
Pré‑troca | Instalar driver do novo modelo no servidor | Equipe de impressão |
Pré‑troca | Confirmar/atualizar reserva DHCP (MAC) | Equipe de rede |
No dia | Substituir fisicamente o MFP mantendo host‑name/IP | Field service |
Pós‑troca | Alterar driver da fila e revisar opções do dispositivo | Equipe de impressão |
Pós‑troca | Teste de impressão e digitalização | Suporte local |
Pós‑troca | Limpar drivers antigos nos clientes (se necessário) | Suporte desktop |
Automação com PowerShell (exemplos prontos)
Criar porta, instalar driver e adicionar fila padronizada
# Variáveis
$IP = "10.10.10.10"
$PortName = "IP_$IP"
$QueueName = "BR-RJ-FIN-MFP01"
$ShareName = $QueueName
$Location = "Rio de Janeiro - Financeiro"
$Comment = "MFP A4/A3 duplex com finalizador"
$DriverName = "HP Universal Printing PCL 6"
Porta TCP/IP (RAW 9100)
if (-not (Get-PrinterPort -Name $PortName -ErrorAction SilentlyContinue)) {
Add-PrinterPort -Name $PortName -PrinterHostAddress $IP
}
Driver (assumindo já instalado; se não estiver, instale via pacote do fabricante)
if (-not (Get-PrinterDriver -Name $DriverName -ErrorAction SilentlyContinue)) {
Write-Host "Instale o driver '$DriverName' antes de continuar." -ForegroundColor Yellow
break
}
Fila
if (-not (Get-Printer -Name $QueueName -ErrorAction SilentlyContinue)) {
Add-Printer -Name $QueueName -DriverName $DriverName -PortName $PortName `
-Shared $true -ShareName $ShareName -Location $Location -Comment $Comment
}
Configuração padrão (ex.: duplex, PB, monocromático)
Set-PrintConfiguration -PrinterName $QueueName -DuplexingMode TwoSidedLongEdge -Color $false </code></pre>
<h3>Mudar o driver de uma fila existente (manter o mesmo nome)</h3>
<pre><code class="language-powershell"># Novo driver já instalado no servidor
$QueueName = "BR-RJ-FIN-MFP01"
$NewDriver = "HP Universal Printing PCL 6"
Alterar via WMI/CIM
$printer = Get-CimInstance -ClassName Win32_Printer -Filter "Name='$QueueName'"
$printer | Set-CimInstance -Property @{ DriverName = $NewDriver }
Reaplicar configurações comuns (duplex, cor, etc.)
Set-PrintConfiguration -PrinterName $QueueName -DuplexingMode TwoSidedLongEdge -Color $false </code></pre>
<h3>Ajustar SNMP Status da porta (quando troca de modelo “quebra” o status)</h3>
<pre><code class="language-powershell">$PortName = "IP_10.10.10.10"
$port = Get-WmiObject -Class Win32_TCPIPPrinterPort -Filter "Name='$PortName'"
Ex.: desativar SNMP Status para evitar falso "Offline"
$port.SNMPEnabled = $false
$null = $port.Put()
</code></pre>
<h3>Criação em massa de filas (CSV)</h3>
<p>Monte um CSV com as colunas: <code>IP,QueueName,DriverName,Location,Comment</code>. Exemplo:</p>
<pre><code>10.10.10.10,BR-RJ-FIN-MFP01,HP Universal Printing PCL 6,RJ - Financeiro,MFP A3 duplex
10.10.20.20,BR-SP-MKT-LSR01,HP Universal Printing PCL 6,SP - Marketing,Laser A4
</code></pre>
<pre><code class="language-powershell">Import-Csv .\filas.csv | ForEach-Object {
$ip = $_.IP
$pn = "IP_$ip"
if (-not (Get-PrinterPort -Name $pn -ErrorAction SilentlyContinue)) {
Add-PrinterPort -Name $pn -PrinterHostAddress $ip
}
if (-not (Get-PrinterDriver -Name $_.DriverName -ErrorAction SilentlyContinue)) {
Write-Host "Driver '$_' não encontrado" -ForegroundColor Yellow
} else {
Add-Printer -Name $.QueueName -DriverName $.DriverName -PortName $pn `
-Shared $true -ShareName $.QueueName -Location $.Location -Comment $_.Comment
Set-PrintConfiguration -PrinterName $_.QueueName -DuplexingMode TwoSidedLongEdge
}
}
</code></pre>
<h2>Governança: nomenclatura, inventário e ciclo de vida</h2>
<ul>
<li><strong>Nomenclatura</strong>: <code>PAÍS‑UF‑SETOR‑FUNÇÃO##</code> (ex.: <code>BR‑RJ‑FIN‑MFP01</code>).</li>
<li><strong>Inventário</strong>: exporte filas e drivers com <code>Get-Printer</code>, <code>Get-PrinterDriver</code> e grave em CSV.</li>
<li><strong>Revisões semestrais</strong>: drivers e KBs de spooler/TCP/IP; aposente drivers obsoletos.</li>
<li><strong>Automação cliente</strong>: SCCM/Intune para remover drivers antigos e redefinir conexões conforme GPO.</li>
</ul>
<h2>Segurança e “Point and Print” com GPO</h2>
<p>Restrinja quem pode instalar drivers e de onde. Recomendações de política (em <em>Computer Configuration → Administrative Templates → Printers</em>):</p>
<table>
<thead>
<tr>
<th>Política</th>
<th>Valor recomendado</th>
<th>Observações</th>
</tr>
</thead>
<tbody>
<tr>
<td>Point and Print Restrictions</td>
<td>Enabled; <em>Only approved servers</em></td>
<td>Liste os FQDNs dos seus servidores de impressão.</td>
</tr>
<tr>
<td>Package Point and Print – Approved servers</td>
<td>Enabled; incluir <code>print01.dominio.local</code>, etc.</td>
<td>Garante que o cliente confia no servidor ao baixar drivers.</td>
</tr>
<tr>
<td>Disallow installation of printers using kernel-mode drivers</td>
<td>Enabled</td>
<td>Evite drivers em modo kernel (risco de estabilidade).</td>
</tr>
<tr>
<td>Allow Print Spooler to accept client connections</td>
<td>Enabled nos servidores; Disabled em estações</td>
<td>Reduz superfície de ataque em endpoints que não são servidores.</td>
</tr>
<tr>
<td>Quando instalar drivers (novo/atualizado)</td>
<td>Mostrar aviso e exigir elevação</td>
<td>Balanceia segurança e usabilidade.</td>
</tr>
</tbody>
</table>
<h2>Boas práticas de fila e porta</h2>
<ul>
<li><strong>Renderização</strong>: “Render print jobs on client computers” reduz carga do servidor em ambientes VDI; porém, para padronização/controle, renderizar no servidor é útil. Escolha por cenário:
<table>
<thead>
<tr>
<th>Onde renderizar</th>
<th>Vantagens</th>
<th>Quando usar</th>
</tr>
</thead>
<tbody>
<tr>
<td>No cliente</td>
<td>Menos CPU/RAM no servidor; menor banda LAN para jobs “pré-renderizados”.</td>
<td>VDI/terminais leves com drivers consistentes.</td>
</tr>
<tr>
<td>No servidor</td>
<td>Maior controle; resultados consistentes e logs centralizados.</td>
<td>Apps legadas, documentos sensíveis a driver.</td>
</tr>
</tbody>
</table>
</li>
<li><strong>SNMP Status</strong>: se marcar “Offline” após a troca, ajuste o <em>Index</em> (1 é comum) ou desative o status de SNMP na porta.</li>
<li><strong>LPR x RAW</strong>: prefira RAW/9100 (simples); LPR só quando a impressora exigir <em>queue name</em> específico.</li>
<li><strong>Permissões</strong>: conceda <em>Print</em> a usuários, <em>Manage Printers</em> apenas a operadores.</li>
</ul>
<h2>Solução de problemas (campo)</h2>
<h3>“A fila ficou Offline após a troca”</h3>
<ul>
<li>Verifique SNMP Status: desative temporariamente e teste job.</li>
<li>Confirme porta (IP/host certo) e conectividade (9100 aberto).</li>
<li>Se IP veio por DHCP, libere/renove a reserva (MAC correto) e, se necessário, limpe ARP em equipamentos de rede conforme procedimento da sua equipe.</li>
</ul>
<h3>“Usuários veem opções erradas (sem duplex/acabadora)”</h3>
<ul>
<li>Em <em>Device Settings</em>, marque as bandejas/módulos corretos do novo modelo.</li>
<li>Alguns drivers exigem executar “<em>Query Printer</em>” para ler as opções via SNMP.</li>
</ul>
<h3>“Jobs não imprimem ou travam”</h3>
<ul>
<li>Troque PDL (PS ↔ PCL) para testar.</li>
<li>Limpe a pasta de spool <code>C:\Windows\System32\spool\PRINTERS</code> (parando e iniciando o serviço):
<pre><code class="language-powershell">Stop-Service Spooler
Remove-Item "C:\Windows\System32\spool\PRINTERS\*" -Force -ErrorAction SilentlyContinue
Start-Service Spooler
</code></pre>
</li>
</ul>
<h3>“Conflito de driver no cliente”</h3>
<ol>
<li>Atualize GPO e reconecte a fila.</li>
<li>Remova driver antigo no cliente (via <code>printui.exe</code> ou GUI):
<pre><code class="language-batch">printui.exe /s /t2
:: Aba Drivers → remova o pacote antigo (x64)
Se necessário, use pnputil
:
pnputil /enum-drivers
pnputil /delete-driver oemXX.inf /uninstall /force
“Spooler caiu após atualizar driver”
- Confirme Driver Isolation = Shared.
- Volte à versão anterior do driver (mantenha rollback documentado).
- Revise logs: Applications and Services Logs → Microsoft → Windows → PrintService → Admin/Operational.
Backup, migração e alta disponibilidade
Para migrações entre servidores (ou rollback rápido), use o utilitário nativo PrintBRM
:
:: Backup das filas/drivers/ports
printbrm.exe -b -s \\SERVIDOR -f C:\Backup\printserver.printerExport
:: Restore em novo servidor (force overwrite)
printbrm.exe -r -s \NOVO-SRV -f C:\Backup\printserver.printerExport -o force </code></pre>
<ul>
<li>Para alta disponibilidade, avalie Failover Clustering do papel de Print Server.</li>
<li>Mesmo com cluster, mantenha padrões de nome/porta/driver para simplificar a vida do suporte.</li>
</ul>
<h2>FAQ rápido</h2>
<p><strong>Substituir o equipamento mantendo o mesmo IP e host‑name exige remapeamento de filas?</strong><br>
Não. O servidor continua apontando para a mesma porta; clientes seguem imprimindo na mesma fila compartilhada.</p>
<p><strong>Posso reutilizar um único driver para muitos modelos?</strong><br>
Sim, se o driver universal/class for compatível com os PDLs envolvidos. Valide recursos críticos (duplex, cor, códigos de barras).</p>
<p><strong>Quebrar o cache de driver no cliente é comum?</strong><br>
Pode acontecer em “troca de família de driver”. Use GPOs, <code>gpupdate /force</code> e, se necessário, remova o driver antigo no cliente.</p>
<p><strong>SNMP Status é obrigatório?</strong><br>
Não. Ajuda a exibir <em>Online/Offline</em> e consultar opções, mas pode causar falso “Offline” após troca de modelo. Desative ou ajuste o <em>index</em> se necessário.</p>
<p><strong>É melhor PS ou PCL?</strong><br>
Depende: PS costuma ser mais fiel para PDFs e design; PCL é rápido e leve. Padronize por área/tipo de documento.</p>
<h2>Rotinas de auditoria e métricas</h2>
<ul>
<li>Habilite e colete eventos do canal <em>PrintService/Operational</em>.</li>
<li>Gere relatórios de volume por fila/usuário:
<pre><code class="language-powershell">Get-PrintJob -ComputerName PRINT01 |
Group-Object PrinterName |
Select-Object Name,Count | Sort-Object Count -Descending
Monitore filas “sem atividade” por mais de N dias para desativar/arquivar.
Política de comunicação (sem surpresas)
- Avise o setor 48 horas antes da troca, com janela curta (15–30 min.).
- Documente diferenças de recursos (ex.: novo grampeador), com imagem da frente do equipamento (intranet).
- Mantenha contato de suporte de campo para o “D0”.
Resumo executivo
Ao manter nome/IP do equipamento e o mesmo nome de fila, a substituição fica praticamente transparente: o servidor continua a falar com a porta TCP/IP e os clientes persistem na fila compartilhada. O segredo está em preparar o driver correto, revisar Device Settings, cuidar do SNMP Status e aplicar GPOs de Point and Print com foco em servidores aprovados e drivers assinados. Com automação PowerShell e um checklist simples, o ciclo de vida de impressoras (implantação, manutenção e troca) torna‑se previsível, seguro e com zero correria de última hora.
Apêndice: “Do & Don’t” de impressão corporativa
Faça | Evite |
---|---|
Padronize nomes, PDL e drivers por área. | Misturar drivers de famílias muito distintas na mesma fila. |
Isolamento de driver em “Shared”. | Drivers em modo kernel. |
RAW/9100 sempre que possível. | WSD em parque corporativo (descoberta volátil). |
Backups com PrintBRM . | Editar dezenas de filas manualmente sem versionar mudanças. |
GPOs: servidores aprovados e drivers assinados. | Permitir Point and Print irrestrito. |
Apêndice: limpeza controlada de drivers antigos em clientes
- Crie um pacote SCCM/Intune que:
- Desconecte as filas antigas:
rundll32 printui.dll,PrintUIEntry /dn /q /n "\\\SERVIDOR\FILA"
. - Remova drivers legados com
pnputil
(com testes e lista deoemXX.inf
permitidos). - Reconecte as filas conforme GPO.
- Desconecte as filas antigas:
- Programe para rodar após a janela de troca.
Modelo de runbook (troca por modelo mais novo)
1) D-7: validar driver novo no lab; imprimir PDF, planilha e etiqueta/código de barras
2) D-2: instalar driver no servidor; confirmar GPOs
3) D-1: confirmar reserva DHCP; checar licenças/scanner
4) D0: trocar equipamento; ajustar driver na fila; revisar Device Settings; teste
5) D+1: coletar feedback; revisar logs; abrir “lições aprendidas”
Seguindo este guia, sua equipe terá previsibilidade e zero drama na administração do servidor de impressão Windows, reduzindo chamados e aumentando a satisfação dos usuários finais.