[RESUELTO] Creación de un paquete de impresora (mediante la ejecución de PowerShell)

Preguntas sobre paquetes WAPT / Solicitudes y ayuda sobre paquetes WAPT.
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Bloqueado
Sistema de gestión del aprendizaje (LMS)
Mensajes: 5
Inscripción: 3 de junio de 2020 - 11:22

3 de junio de 2020 - 11:46

Hola a todos,

- Versión WAPT instalada: 1.8.0
- Sistema operativo del servidor: Debian 10 (VM en Proxmox)
- Sistema operativo de la máquina de administración/creación de paquetes: Windows 10

Por eso vengo a ti:

Estoy intentando crear un paquete para instalar nuestra impresora. Hice una primera prueba en mi equipo de administración. Abrí PowerShell y escribí los comandos uno por uno para agregar e instalar el controlador, crear el puerto de impresión y crear la impresora en Windows.

Todo funciona desde PowerShell, en vivo en la máquina de administración, pero al ejecutar comandos de PowerShell en el script de mi paquete, ya no funciona, y esto desde la primera línea.

Aquí está mi código de PyScripter (los comandos de PowerShell funcionan como están cuando no son ejecutados por PyScripter).

Código: Seleccionar todo

    run('powershell pnputil.exe -i -a T5DSETWin_10110FR\Drivers\PCL6\Win_x86\KOAXTJ__.inf')
    run('Add-PrinterDriver -Name "KONICA MINOLTA C287SeriesPCL"')
    run('powershell Add-PrinterPort -Name "IP_192.168......." -PrinterHostAddress "192.168....."')
    run('powershell Add-Printer -Name "5thFloor Printer" -DriverName "KONICA MINOLTA C287SeriesPCL" -PortName IP_192.168......"')
La primera línea no funciona. El error:
No se pudo agregar el paquete del controlador: el archivo INF pasado como parámetro no es válido.
También probé `run_notfatal` y vi las siguientes líneas. Parece que también muestran errores.

Sin embargo, funciona perfectamente desde PowerShell, desde cualquier línea, ya que los controladores están instalados en la máquina de administración. (El mismo problema ocurre con x64, y también si cambio de directorio para salir de waptdev, etc.)


Sospecho que hay un error de codificación, pero admito que no sé qué está pasando. Y con razón: aquí está el mensaje de error de la segunda línea.
No se pudo encontrar ningún parámetro posicional que acepte el argumento ®ÿC287SeriesPCLÿ¯.

¿Tienes alguna sugerencia para solucionarlo?

PD:
Como principiante, mi objetivo final no es necesariamente instalar correctamente este paquete en particular, sino comprender cómo funciona todo en conjunto. Por lo tanto, puede que haya aspectos de mi enfoque que le sorprendan. No dude en comentarlos, incluso si se desvían ligeramente del tema principal: el problema del paquete de instalación de la impresora.

PS2: ¿Podría un script de PowerShell resolver el problema? Me dio pereza hacerlo porque habría tenido que firmar mi script, ya que los scripts sin firmar no se pueden ejecutar. Y entonces pensé que si es posible desarrollar todo en PyScripter, podría ser mejor que usar un script enlazado en el paquete. Como no estoy familiarizado con el desarrollo, mis intentos son cautelosos y el aprendizaje es lento.
Me hubiera gustado, entre otras cosas, probar la existencia del puerto de impresión antes de su creación, pero no quería escribir una línea gigantesca y no sé si es posible escribir un fragmento de código de PowerShell en varias líneas en el script Python del paquete.
Avatar de usuario
Sfonteneau
Experto en WAPT
Mensajes: 2312
Registrado: 10 de julio de 2014 - 23:52
Contacto :

3 de junio de 2020 - 12:17

Para ahorrarte tiempo, aquí tienes un paquete de instalación de impresora que funciona:

https://wapt.lesfourmisduweb.org/list_p ... ll-printer
Sistema de gestión del aprendizaje (LMS)
Mensajes: 5
Inscripción: 3 de junio de 2020 - 11:22

9 de junio de 2020 - 12:04

Disculpa mi tardanza en responder. Estoy muy ocupado últimamente.

Quizás sea porque volví a descargar los controladores y usé el nuevo archivo zip. O tal vez no entendí bien qué faltaba para que funcionara con PowerShell (es la primera vez que instalo una impresora mediante script/GPO, etc.).

En cualquier caso, tu script funciona y es mucho más limpio que el mío. Y lo más importante, ¡es adaptable a mis necesidades!

Gracias :).
Bloqueado