Pagina 1 di 1

[RISOLTO] Eseguire i file bat

Pubblicato: 22 agosto 2022 - 13:42
di HugoDams
Buongiorno,
Sto utilizzando WAPT 2.2.1, in un ambiente completamente Windows.

Voglio eseguire un file .bat con una riga di comando molto semplice:

Codice: Seleziona tutto

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



Ecco il pacchetto che ho messo in atto (altrettanto semplice):

Codice: Seleziona tutto

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

def install():
    run("ipconfig.bat")
Ecco l'errore che ricevo:

Codice: Seleziona tutto

*** 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
>>> 
Non riesco a trovare nulla di concreto con "Codice di uscita: 3"...
Cosa ho fatto di sbagliato o cosa ho dimenticato?
Ho inserito correttamente il file .bat nel pacchetto (come con un'installazione .msi o .exe), il file .bat avviato manualmente funziona e invia correttamente il risultato alla directory condivisa.

GRAZIE
Buona giornata,
Ugo

Re: Eseguire file bat

Pubblicato: 22 agosto 2022 - ore 15:00
di dcardon

Codice: Seleziona tutto

c:\waptdev\dams-ipconfig_0_PROD-wapt>ipconfig /all  1>Y:\SimonP\MAC\h.veyrent.txt 
The system cannot find the path specified.
Come indica il messaggio, Y:\ probabilmente non esiste nel contesto di esecuzione.

Sinceramente,

Denis

Re: Eseguire file bat

Pubblicato: 22 agosto 2022 - 15:33
di HugoDams
Ciao Denis,
Y: è un'unità di rete; esiste, ma lo script deve creare il file di testo in base al registro utente (h.veyrent.txt nel mio caso).
Questa unità è accessibile a tutti senza restrizioni (è il nostro sistema di daysadson).

Hugo

Re: Eseguire file bat

Pubblicato: 22 agosto 2022 - 15:38
di HugoDams
Errore mio, funziona con la mia unità C:\...
I pacchetti non riescono a scrivere sulla rete?
Se hai un'altra soluzione per ottenere gli indirizzi MAC dei PC utilizzando il registro utenti tramite WAPT, te ne sarei grato, perché la console visualizza tutti gli indirizzi MAC, ma a noi interessa solo quello attivo.
Grazie,
Hugo

Re: Eseguire file bat

Pubblicato: 22 agosto 2022 - 15:56
di dcardon
HugoDams ha scritto: 22 agosto 2022 - 15:38 Scusate, funziona con la mia unità C:\...
I pacchetti non possono scrivere sulla rete?
Il contesto dell'account SYSTEM non è lo stesso dell'utente; non ha conoscenza di Y:\

È possibile montare un lettore nel contesto SYSTEM, ma non è specifico di WAPT (e direi che non è molto bello).
Se avete un'altra soluzione per ottenere l'indirizzo MAC dei PC utilizzando il registro utente tramite WAPT, sono tutto orecchie, perché dalla console abbiamo tutti gli indirizzi MAC ma vorremmo solo quello attivo.
Nella versione Enterprise è possibile utilizzare la funzione di audit per recuperare regolarmente dati, ad esempio un ipconfig.

Nella versione Discovery, se si tratta di un'esigenza una tantum, è possibile creare un pacchetto con def install() che avvia la funzione, recupera il risultato e quindi disinstalla il pacchetto.

Sinceramente,

Denis