No es algo nuevo. Cada dos por tres Microsoft actualiza Windows 10 implantando nuevas medidas con la intención de mejorar, pero no siempre es así.
Desde el 14 de Septiembre con la actualización mensual del sistema operativo, muchos tenemos serios problemas para que nuestras impresoras funcionen en red.
Al final del artículo puedes descargar el parche para solucionar el error!!
Esperábamos una solución con el reajuste de octubre, pero no llegó. El día 11 llegó la de noviembre, que tampoco incluía un remedio definitivo. Bueno, ni parcial.
La pesadilla viene de lejos
PrintNightmare, una vulnerabilidad de Windows 10 en la cola de impresión, permite ejecutar código remoto, y desde hace mucho hackers han aprovechado a quienes no parchean sus equipos para hacer de las suyas.
Tras conocer una nueva debilidad en Junio de este mismo año, los de Redmond no perdieron tiempo y en tres meses ya tenían preparada su solución.
Se conoce que con tanta prisa esta gente no hizo las comprobaciones necesarias para que quienes imprimían documentos en red no se vuelvan locos actualmente para poder conectar sus dispositivos a las impresoras.
Aquí te espero…
Confiando en las famosas actualizaciones mensuales de Win, todos esperamos al día 12 de octubre, a ver qué pasaba. Nada, todo sigue igual, o al menos muchos seguíamos sin esa solución.
.-Tranquilos, que en la de noviembre ( llegó el día 11) todo se solucionará. – Nanay. Ha llegado la fecha, la actualización, y el error se repite. Qué desastre, amigos.
Los remedios, pff…
Bueno, parece que las actualizaciones KB5005565, KB500556, 6KB5006670 y la del día 12, que ni recuerdo el nombre, son las causantes del desaguisado. Pues la solución más utilizada ha sido la propuesta por los usuarios de un conocido foro de discusión llamado BleepingComputer. Desinstalar estas actualizaciones, a la espera de que Microsoft responda con una nueva que nos despierte de la pesadilla.
Más adelante en ese mismo foro plantearon otra solución que me llamó la atención.
La solución, que no es mía, pero lo será
Los foreros de BleepingComputer proponían rescatar la librería de la cola de impresión de la última versión de Windows en la que funcionaba e intercambiarla por la nueva. Me gustó.
Y es que, renunciar a todos los parches que puedan solucionar estas actualizaciones desinstalándolas me parece demasiado riesgo para mis equipos. Elijo el mal menor, puesto que, la solución de cambiar la dll también provocará vulnerabilidad añadida.
Pues manos a la obra. Siguiendo las instrucciones que encontré en el dichoso foro, las tareas a realizar iban a ser las siguientes,
- Crear una entrada en el registro (RpcAuthnLevelPrivacyEnabled). Microsoft desde la actualización de setiembre habilitó la mitigación CVE-2021-1678. con esta entrada , la anularemos.
- Conseguir el archivo win32spl.dll de un equipo que no se hubiese actualizado, y reemplazarlo por el actual, esto devolverá la normalidad a cada equipo de nuestra red.
Parece fácil, verdad. Pues no
Al tajo, lo primero, al registro.
Para ahorrarme el currazo de fotografiar todo el proceso voy a hacer acopio de lo que publicó en su momento appuals.com y mato dos pajareles de un tiro. Vosotros aprendéis el proceso, y yo me dedico al final de la publicación. Así que ya sabéis, visitad appuals.com, (¡qué buenos son, los padres franciscanos, qué buenos son, que nos llevan de excursión. nianoniii!).
Nota: Las instrucciones a continuación son idénticas independientemente de si está en Windows 10 o Windows 11.
- Presione la tecla de Windows + R para abrir un cuadro de diálogo Ejecutar . Luego, escriba ‘regedit’ dentro del cuadro de texto y presione Ctrl + Shift + Enter para abrir el Editor del Registro con privilegios administrativos.
Abrir una nueva ventana del Editor del registro - Una vez que se le solicite el mensaje de Control de cuentas de usuario , haga clic en Sí para otorgar privilegios administrativos.
- Una vez que esté dentro del Editor del registro, use el menú de la izquierda para navegar a la siguiente ubicación:
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Print
Nota: Puede navegar a esta ubicación manualmente (haciendo clic en cada tecla) o puede pegar la ruta completa en la barra de navegación en la parte superior y presionar Enter para llegar allí instantáneamente.
- Una vez que esté dentro de la ubicación correcta, asegúrese de que la tecla Imprimir esté seleccionada, luego muévase a la sección de la derecha, haga clic con el botón derecho en un espacio vacío y seleccione Nuevo> Valor DWORD de 32 bits .
Creando un nuevo valor DWORD - A continuación, nombrar el valor de registro recién creado como RpcAuthnLevelPrivacyEnabled y presione Entrar para guardar los cambios.
- Finalmente, haga doble clic en el valor RpcAuthnLevelPrivacyEnabled recién creado .
- Una vez que esté dentro del menú Editar , establezca la Base en Hexadecimal y los Datos del valor en 0 antes de hacer clic en Aceptar para guardar los cambios.
Edición de la clave RpcAuthnLevelPrivacyEnabled - Una vez que se haya completado esta modificación, reinicie su PC.
Total, ná.
No se vayan todavía, aún hay más
Si, si. Esa era la primera tarea, ahora hay que reemplazar el dichoso archivo. Pan comido, ¿verdad? Prrrrtz.
Para entender que no es tan fácil os diré que el archivo está «protegido» por TrustInstaller, y si no fuera poco, está controlado por un servicio que está siempre en ejecución.
En internet hay varios sitios desde donde conseguir el archivo deseado: win32spl.dll. Demos por sentado que ya lo tenemos descargado y a buen recaudo.
Primero hay que detener el servicio «cola de impresión» pulsando el atajo de teclado Windows + R, y escribiendo services.msc. Tras esto hacemos clic en Aceptar.
En la ventana que aparecerá, veremos una lista. Tenemos que buscar Cola de impresión y seleccionar el elemento. A la izquierda de la ventana veremos dos opciones. Una para detener el servicio y otra para reiniciar el servicio. Tened esto en cuenta porque ahora lo vamos a detener, pero al terminar, lo hemos de reiniciar…
Ya está parada la cola, vamos a reemplazar el archivo, que como os decía anteriormente, es propiedad de TrustInstaller.
Para explicar como cambiar esa propiedad volveré a hacer acopio de datos de otra web en la que lo explican muy bien. troubleshootingcentral.com
Esta buena gente se ha pegado un currazo para darnos el tostón, estooo, para hacernos un tutorial para apropiarnos del derecho a modificar el ansiado archivo dll. Ahí va.
Ya lo dijo Manuel Luque, protagonista del anuncio de Colón. Vaya a troubleshootingcentral.com y si encuentra algo mejor, visítelo( me ahorro un montón de tecleo, que menos que hacerles publicidad, ¿eh?).
La forma más fácil de obtener la propiedad de un archivo o carpeta que desea modificar, acceder o eliminar es a través de su explorador de archivos y con permisos especiales avanzados. Para utilizar este método, inicie sesión como administrador y luego complete los siguientes pasos.
![Cómo acceder a permisos avanzados para cambiar de propiedad.](https://www.troubleshootingcentral.com/wp-content/uploads/2020/09/File-Explorer-Fix-Steps-1-3-670x613.png?ezimgfmt=rs:515x471/rscb15/ng:webp/ngcb15)
- Abra su explorador de archivos y busque el archivo o carpeta que desea modificar, eliminar o adquirir propiedad.
- Haga clic derecho en el archivo o carpeta y elija propiedades en el menú que aparece.
- En la ventana de propiedades, haga clic en la pestaña de seguridad en la parte superior. Debajo del cuadro «permisos para el sistema», verá un botón avanzado con un texto a la izquierda que dice: para permisos especiales o configuraciones avanzadas, haga clic en avanzado.
- Haga clic en el botón avanzado. En la ventana de configuración de seguridad avanzada que aparece, verá que el propietario del archivo es TrustedInstaller. Al lado del nombre, habrá un pequeño hipervínculo que dice, «cambiar» – haga clic en él. Para los usuarios de Windows 7, navegue hasta la pestaña «propietario» y haga clic en editar.
![Cómo cambiar la propiedad de TrustedInstaller a usuario: presione el botón Cambiar](https://www.troubleshootingcentral.com/wp-content/uploads/2020/09/File-Explorer-Fix-Step-4-2-670x454.png?ezimgfmt=rs:670x454/rscb15/ng:webp/ngcb15)
- En la nueva ventana que aparece, deberá escribir el nombre de usuario que está usando en su sistema y luego hacer clic en el botón de verificación de nombres. Windows comprobará automáticamente el nombre y completará el nombre completo del objeto por usted. Una vez hecho esto, podrá hacer clic en el botón Aceptar.
Para los usuarios de Windows 7, haga clic en «otros usuarios o grupos» y continúe con el paso 5.
Tenga en cuenta: si el nombre de su cuenta no aparece, puede buscarlo manualmente en la lista de usuarios.
![Cambiar el nombre de usuario y realizar una verificación de nombre.](https://www.troubleshootingcentral.com/wp-content/uploads/2020/09/File-Explorer-Fix-Step-5.png?ezimgfmt=rs:451x243/rscb15/ng:webp/ngcb15)
- De vuelta en la ventana de configuración de seguridad avanzada, aparecerá una nueva línea debajo de la línea del propietario que acaba de cambiar. Se leerá “reemplazar propietario en subcontenedores y objetos” – marque esta casilla para asegurarse de que todas las subcarpetas o archivos asociados con este archivo o carpeta también tengan su propiedad cambiada. Esto es bueno, ya que significa que no tendrá que repetir los pasos 1-5 para todos los subdirectorios presentes.
- Pulsa el botón de aplicar. Cierre la ventana de propiedades y vuelva a abrirla.
- Seleccione la pestaña de seguridad en la parte superior nuevamente y haga clic en el botón avanzado nuevamente.
- En la ventana de permisos , seleccione el botón Agregar.
- Elija » seleccionar un director » e ingrese su nombre de usuario y marque todas las casillas de permisos o, si están disponibles, elija el control total. Golpea bien.
![Añadiendo control total al principal.](https://www.troubleshootingcentral.com/wp-content/uploads/2020/09/File-Explorer-Fix-Step-9.png?ezimgfmt=rs:636x441/rscb15/ng:webp/ngcb15)
- Ahora marque la casilla que dice, «reemplace todas las entradas de permisos de objetos secundarios con entradas de permisos heredables de este objeto» y presione el botón Aplicar.
Ahora la propiedad pasará de TrustedInstaller a usted. Ya no necesitará permiso del TrustedInstaller para realizar la acción que deseaba en dicho archivo o carpeta y en todos los subdirectorios que contiene.
Nota: Si está utilizando Windows 7, se aplican los mismos pasos, pero es posible que deba navegar a la pestaña de propietario y hacer clic en el botón editar en la ventana de configuración de seguridad avanzada y luego usar «otros usuarios o grupos» para ingresar su nombre de usuario. para el proceso del nombre del cheque. Los hemos incluido como extra en los pasos anteriores.
Vaya coñazo, y aún nos queda un poco. Es momento de copiar el archivo dll e ir a C:\windows\system32\ y reemplazarlo por el actual. No olvidéis que hay que hacer una copia de seguridad, que luego las moscas hacen de las suyas y ¿qué?, ¿eh? entonces, ¿qué?.
Solo nos queda volver a reiniciar la cola de impresión, ¿recordáis? Y por fin, este equipo ya está preparado (hasta una nueva actualización) para poder imprimir.
Ahora hay que repetir todo esto en los otros pcs (de colores)
Gracias CMD, gracias
Siguiendo con mi perorata, descubrí que implantar la solución para que se estableciese la normalidad en mis intranets iba a ser laboriosa. Aunque me saqué un as de la manga, la ayuda de la linea de comandos. Podría ahorrar muchas horas de trabajo. Y me puse manos a la obra.
Como ya estoy hasta el gorro de escribir voy a ir abreviando.
La solución, la mía. La que quiero compartir con vosotros
Recopilé cada uno de los códigos necesarios (a mi modesto modo de entenderlos) para realizar estas tareas vía CMD, y empecé a implantar la solución anteriormente explicada, pero a base de estos pequeños scripts.
El caso es que he trabajado un poco más esos fragmentos de código y los he concentrado en un archivo .ps1 (para ejecutar con PowerShell).
Es un archivo mejorable, en los equipos que he probado cumple su función a la perfección.
Os invito a que lo probéis, ejecutéis, critiquéis, mejoréis y sobre todo «compartéis». En fin, que se trata de aportar un granito más para que todo vaya mejor.
¿Cómo «funka«?
Lo podía haber convertido en un ejecutable, pero creo que es más transparente y mejorable en este estado (archivo.ps1). Para usarlo tenéis que descargarlo en la misma carpeta que el archivo win32spl.dll y ejecutarlo en modo administrador (haciendo clic con el botón derecho del ratón y otro clic en ejecutar en modo administrador), en el caso de que olvidéis esto, pues el script os invitará a repetir.
Incluye un pequeño menú que, además de hacer las tareas nos permite localizar el archivo de marras y abrir una carpeta para comprobar si se ha cambiado.
En el archivo de descarga encontraréis el script, la dll,y un archivo de texto para los que no sepáis ni abrirlo.
Si no os funka podéis poneros en contacto conmigo o escribir comentarios. Ni que decir tiene que el «programica» no tiene garantía alguna, y se sirve tal y como se ve, gratis y sin otro compromiso que, si lo queréis publicar, modificar o compartir, os acordéis de este friki.
Si deja de funcionar o se queda obsoleto, pues esté batiburrillo quedará para el recuerdo. El archivo y el currazo, «pal» salón, como el plus.
Ya sabéis, tengo un plan. Hagamos de internet un sitio mejor.