Página 1 de 1

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

Publicado: 3 de junio de 2020 - 11:46 a. m.
por LMS
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.

Re: Creación de un paquete de impresora (mediante la ejecución de PowerShell)

Publicado: 3 de junio de 2020 - 12:17 p. m.
por sfonteneau
Para ahorrarte tiempo, aquí tienes un paquete de instalación de impresora que funciona:

https://wapt.lesfourmisduweb.org/list_p ... ll-printer

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

Publicado: 9 de junio de 2020 - 12:04 p. m.
por LMS
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 :).