Estoy documentando un problema que tuve con Administración de impresión (printmanagement.msc) en Windows.
La consola abría normalmente, pero al entrar en:
Servidores de impresión > [equipo local] > Impresoras
aparecía este error de script:
Línea: 40
Carácter: 21
Error: El objeto no acepta la propiedad o el método 'SetPrinterName'
Código: 0

Las impresoras funcionaban correctamente y Windows las enumeraba sin problema.
Durante el diagnóstico se identificó que el error ocurría al ejecutar:
printQueueView_queueOCX.SetPrinterName("", false)
El control COM implicado era PrinterQueueView:
CLSID:
{B021FF57-A928-459C-9D6C-14DED0C9BED2}
asociado a:
puiobj.dll
El objeto COM podía crearse correctamente, pero al intentar resolver o utilizar sus métodos devolvía:
0x8002801D - TYPE_E_LIBNOTREGISTERED
(Biblioteca no registrada)
También se identificó que puiobj.dll contiene esta TypeLib:
{438EDB38-282C-435D-8BE3-4AB90B83CEF5}
versión 1.0
nombre: PrintUIObjLib
En mi caso, el CLSID estaba registrado correctamente, pero la TypeLib no aparecía registrada.
Después de registrar correctamente la TypeLib para 32 y 64 bits, Administración de impresión volvió a mostrar la lista de impresoras sin el error.
Voy a publicar en una respuesta los comandos de comprobación y la solución exacta que funcionó en mi caso.