[RESUELTO] Ejecutar archivos bat

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
Presas Hugo
Mensajes: 11
Inscripción: 18 de julio de 2022 - 11:11
Ubicación: Le Mans

22 de agosto de 2022 - 13:42

Buen día,
Estoy usando WAPT 2.2.1, en un entorno completamente Windows.

Quiero ejecutar un archivo .bat con una línea de comando muy simple:

Código: Seleccionar todo

ipconfig /all > Y:\SimonP\MAC\%username%.txt



Aquí está el paquete que puse en marcha (igual de simple):

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

def install():
    run("ipconfig.bat")
Este es el error que me aparece:

Código: Seleccionar todo

*** Remote Interpreter Reinitialized ***
Command Line : install "c:\waptdev\dams-ipconfig_0_PROD-wapt\WAPT\.."
Using config file: C:\Program Files (x86)\wapt\wapt-get.ini
Installing WAPT files c:\waptdev\dams-ipconfig_0_PROD-wapt
2022-08-22 11:47:00,203 CRITICAL Fatal error in install script: CalledProcessErrorOutput: Command 'ipconfig.bat' returned non-zero exit status 1.
Output:
c:\waptdev\dams-ipconfig_0_PROD-wapt>ipconfig /all  1>Y:\SimonP\MAC\h.veyrent.txt 
The system cannot find the path specified.
:
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 4035, in install_wapt
    exitstatus = setup.install()
  File "c:\waptdev\dams-ipconfig_0_PROD-wapt\setup.py", line 5, in install
    run("ipconfig.bat")
  File "C:\Program Files (x86)\wapt\common.py", line 3817, in run
    return ensure_unicode(run(*arg, pidlist=self.pidlist,**args))
  File "C:\Program Files (x86)\wapt\waptutils.py", line 2126, in run
    raise CalledProcessErrorOutput(proc.returncode, cmd, ''.join(output))
waptutils.CalledProcessErrorOutput: Command 'ipconfig.bat' returned non-zero exit status 1.
Output:
c:\waptdev\dams-ipconfig_0_PROD-wapt>ipconfig /all  1>Y:\SimonP\MAC\h.veyrent.txt 
The system cannot find the path specified.


FATAL ERROR : CalledProcessErrorOutput: Command 'ipconfig.bat' returned non-zero exit status 1.
Output:
c:\waptdev\dams-ipconfig_0_PROD-wapt>ipconfig /all  1>Y:\SimonP\MAC\h.veyrent.txt 
The system cannot find the path specified.

Exit code:  3
>>> 
No encuentro nada concreto con "Código de salida: 3"...
¿Qué hice mal o qué olvidé?
Coloqué correctamente el archivo .bat en el paquete (como con una instalación .msi o .exe), el archivo .bat iniciado manualmente funciona y envía correctamente el resultado al directorio compartido.

GRACIAS
Buen día,
Hugo
Última edición realizada por HugoDams el 22 de agosto de 2022 a las 15:39, editado 1 vez.
Avatar de usuario
dcardón
Experto en WAPT
Mensajes: 1908
Inscripción: 18 de junio de 2014 - 09:58
Ubicación: Saint Sébastien sur Loire
Contacto :

22 de agosto de 2022 - 15:00

Código: Seleccionar todo

c:\waptdev\dams-ipconfig_0_PROD-wapt>ipconfig /all  1>Y:\SimonP\MAC\h.veyrent.txt 
The system cannot find the path specified.
Como indica el mensaje, Y:\ probablemente no existe en el contexto de ejecución.

Atentamente,

Denis
Denis Cardon - Tranquil IT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
Presas Hugo
Mensajes: 11
Inscripción: 18 de julio de 2022 - 11:11
Ubicación: Le Mans

22 de agosto de 2022 - 15:33

Hola Denis,
Y: es una unidad de red; existe, pero el script necesita crear el archivo de texto a partir del registro del usuario (h.veyrent.txt en mi caso).
Esta unidad es accesible para todos sin restricciones (es nuestra unidad compartida).

Hugo
Presas Hugo
Mensajes: 11
Inscripción: 18 de julio de 2022 - 11:11
Ubicación: Le Mans

22 de agosto de 2022 - 15:38

Me equivoqué, funciona con mi unidad C:\... ¿
Los paquetes no pueden escribir en la red?
Si tienes otra solución para obtener las direcciones MAC de los PC usando el registro de usuario a través de WAPT, te lo agradecería, porque la consola muestra todas las direcciones MAC, pero solo queremos la activa.
Gracias,
Hugo.
Avatar de usuario
dcardón
Experto en WAPT
Mensajes: 1908
Inscripción: 18 de junio de 2014 - 09:58
Ubicación: Saint Sébastien sur Loire
Contacto :

22 de agosto de 2022 - 15:56

HugoDams escribió: 22 de agosto de 2022 - 15:38 Mi error, funciona con mi unidad C:\... ¿
Los paquetes no pueden escribir en la red?
El contexto de la cuenta SYSTEM no es el mismo que el del usuario; no tiene conocimiento de Y:\

Puedes montar un lector en el contexto del SISTEMA, pero no es específico de WAPT (y yo diría que no es muy bonito).
Si tenéis otra solución para obtener la dirección MAC de las PCs usando el log de usuarios vía WAPT, soy todo oídos, ya que desde la consola tenemos todas las direcciones MAC pero nos gustaría solo la activa.
En la versión Enterprise puedes utilizar la función de auditoría para recuperar datos periódicamente, como por ejemplo un ipconfig.

En la versión Discovery, si es una necesidad única, puedes crear un paquete con una def install() que inicia la función, recupera el resultado y luego desinstala el paquete.

Atentamente,

Denis
Denis Cardon - Tranquil IT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
Bloqueado