Cuando una impresora distribuida mediante Directiva de Grupo se niega a desaparecer, el equipo de TI puede perder horas en diagnósticos y reinstalaciones. A continuación encontrarás un procedimiento integral —desde la causa raíz hasta la prevención— para limpiar por completo esas impresoras “fantasma” y evitar que vuelvan a aparecer.
Cómo se distribuyen las impresoras mediante GPO
Desde Windows Server 2008, el complemento Deployed Printers (o las Preferencias de Directiva de Grupo, GPP) permite publicar conexiones de impresora en modo cliente sin necesidad de scripts. La configuración más habitual está en Computer Configuration › Policies › Windows Settings › Deployed Printers. El controlador de la estación (client‑side rendering) crea entradas en el Registro del equipo y en el perfil del usuario. Cuando se elimina la directiva o el equipo se mueve de UO, debería limpiarse automáticamente, pero varias circunstancias —errores de réplica, permisos, o “políticas huérfanas”— hacen que la impresora quede pegada.
Por qué la impresora persiste tras eliminar la GPO
- Almacenamiento en varias ramas del Registro: si el equipo recibió la impresora con privilegios elevados y posteriormente el usuario recibió la misma impresora vía GPP, hay duplicidad de claves.
- Propagación incompleta de políticas: la eliminación de vínculos tarda en replicar entre controladores de dominio; el equipo puede seguir leyendo datos obsoletos.
- Permisos en los servidores de impresión: si la impresora deja de estar publicada pero el usuario aún tiene permisos de enumeración, Windows la reanexa automáticamente al detectar el recurso compartido.
- Errores de replicación SYSVOL o DFS‑R: la GPO se muestra vacía en la consola, pero físicamente el
gpt.ini
o los XML de preferencias siguen presentes.
Diagnóstico paso a paso
- Ejecuta
gpresult /h informe.html
oGet-GPResultantSetOfPolicy
para confirmar qué GPO —o fragmento de ella— sigue señalando la impresora. - Abre el Visor de eventos ► Microsoft‑Windows‑GroupPolicy/Operational; busca el ID 4098 (aplicación de impresoras GPP) y comprueba la marca de tiempo.
- En la propia estación, ejecuta
reg query HKLM\Software\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider
y localiza subclavesServers<Servidor>\Printers
que no deberían existir. - En el servidor de impresión, revisa la cola: si la impresora se eliminó pero siguen quedando trabajos detenidos, Windows puede “resucitar” la conexión al detectar un spooler pendiente.
Soluciones prácticas
Tarea | Método | Comentarios |
---|---|---|
Forzar actualización de directivas | gpupdate /force y reinicio | Útil para procesar de inmediato cambios de GPO; no siempre quita impresoras “heredadas”. |
Eliminar manualmente | Panel de control ► Dispositivos e impresoras ► clic derecho ► “Quitar dispositivo” | Rápido, pero no escalable si hay muchos equipos. |
Quitar desde Print Management | 1) Agrega el rol Print Server al DC u otro servidor. 2) printmanagement.msc ► Print Servers ► Printers ► Delete | Permite gestionar conexiones impresora en bloque. |
Limpiar el Registro (último recurso) | 1) Respaldar antes. 2) Eliminar: HKU\SID\Software\Policies\Microsoft\Windows NT\Printers\PushedConnections HKU\SID\Software\Policies\Microsoft\Windows NT\Printers\PushedPrinterConnectionStore HKLM\Software\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider\Servers<SERVER>\Printers 3) Reiniciar servicio Spooler | Útil cuando la conexión queda “atascada”. |
GPO de “eliminación” explícita | Crear un GPO temporal o usar GPP ► Printers con acción Delete y vincularlo a las OUs afectadas. | Automatiza la limpieza sin tocar cada PC. |
PowerShell / PrintUI | Remove-Printer -Name "\\Servidor\Impresora" o rundll32 printui.dll,PrintUIEntry /dn /q /n "\\Servidor\Impresora" | Scripting para tratar varios equipos en remoto. |
Script de limpieza en masa con PowerShell
El siguiente ejemplo recorre todas las estaciones de una OU, elimina la impresora problemática y reinicia el servicio Spooler. Ajusta $OU
y $Impresora
según tu entorno:
$OU = "OU=PCs,DC=contoso,DC=local"
$Impresora = "\\Servidor\Impresora"
Get-ADComputer -SearchBase \$OU -Filter \* |
Select-Object -Expand Name |
ForEach-Object {
Invoke-Command -ComputerName $\_ -ScriptBlock {
param(\$Impresora)
if (Get-Printer -Name \$Impresora -ErrorAction SilentlyContinue) {
Remove-Printer -Name \$Impresora -ErrorAction SilentlyContinue
Restart-Service Spooler -Force
}
} -ArgumentList \$Impresora -ErrorAction Continue
}
Buenas prácticas para evitar impresoras “pegajosas”
Configura la eliminación automática en GPP
En las Preferencias de Directiva de Grupo ► Control Panel Settings ► Printers, fija Action = Update y marca “Remove this item when it is no longer applied”. Así, al cambiar la OU, la impresora desaparece sola.
Segmenta mediante Item‑Level Targeting
Si solo un subconjunto de equipos necesita la impresora, usa filtrado por grupo de seguridad, ubicación IP o nombre de equipo. Cuantas menos máquinas reciban la directiva, menor será la superficie de error.
Audita los vínculos de GPO
Cada trimestre, ejecuta Get-GPOReport -All -ReportType Html -Path GPOs.html
y revisa manualmente los vínculos de nivel Dominio y Sitio. Un GPO mal vinculado al dominio raíz fue el origen de nuestro problema.
Supervisa la replicación SYSVOL
Configura alertas de DFS‑R Health. Si el GUID de una GPO cambia o faltan archivos XML de Preferencias, los equipos podrían aplicar versiones incoherentes.
Plan de contingencia e inventario
- Mantén una hoja de cálculo con:
• Nombre de impresora compartida
• Servidor donde reside
• GPO o script que la publica
• OU y grupos de seguridad destino - Documenta el proceso para crear, modificar y retirar impresoras, incluyendo quién revisa las solicitudes y en qué repositorio quedan almacenados los drivers.
- Implementa control de versiones en la carpeta
\\domain\SYSVOL
con un repositorio GIT o snapshots, para auditar cambios no autorizados.
Preguntas frecuentes
¿Puedo borrar impresoras con un script de inicio de sesión?
Sí. Un archivo BAT con printui.dll /dn
funciona, pero es más limpio usar PowerShell y aprovechar los cmdlets Get‑Printer
y Remove‑Printer
.
¿Es mejor usar Deployed Printers o GPP?
Las GPP ofrecen mayor granularidad (Item‑Level Targeting) y la opción “Remove when no longer applied”, imprescindible para evitar residuos.
¿Qué sucede si elimino impresoras del Registro pero quedan colas pendientes?
Windows recreará la conexión al detectar trabajos pendientes. Vacía las colas y detén el Spooler antes de limpiar el Registro.
Conclusión
Eliminar impresoras distribuidas por GPO puede parecer trivial, pero la combinación de claves de Registro, réplicas de SYSVOL y configuraciones heredadas puede dejar dispositivos “fantasma” que confunden a los usuarios. Siguiendo el flujo de diagnóstico, aplicando las soluciones —desde gpupdate
hasta scripts remotos— y, sobre todo, configurando las GPP para que depuren automáticamente, tu infraestructura de impresión volverá a estar bajo control.