Visualizza la versione completa : Script all'arresto del sistema
Ramsesdea
25-09-2006, 13:15
Ciao a tutti ho la necessità di lanciare un batch ogni volta che arresto il pc.
Sono andato in gpedit.msc sotto Impostazioni Windows -> Scripts (Avvio/Arresto) -> Chiudi sessione.
In nome scritp ho selezionato il batch che mi dovrebbe eseguire, in parametri ho messo quello che dovrebbe essere eseguito da riga di comando (cioè la giga presente sotto il file batch).
Nonostante questo però, non mi parte lo script....
Ho letto la guida Windows, non sono sotto dominio ma non dovrebbe funzionare lo stesso?
Lo scritp è un semplice file batch che richiama una riga di comando.
Mi serve farlo eseguire facendo start -> chiudi sessione e non con un batch che dopo richiama lo shoutdown
Ciao e grazie
:ciauz:
fabio309
25-09-2006, 14:22
in teoria hai fatto bene, l'errore dovrebbe quindi essere nel file batch o nel passaggio dei parametri (probabile il passaggio dei parametri)
che tipo di comandi vengono eseguiti nel file batch?
Ramsesdea
26-09-2006, 08:05
Ciao Fabio il batch va a richiamare una semplice riga di comando.
Ho risolto mettendo tale script nella disconnessione e non nell'arresto del pc (per intenderci nella configurazione utente e non nella configurazione del computer).
Questo ora è perfetto,all'arresto del pc parte il batch. Solo una cosa però, facendo così questo parte sempre... c'è il modo di arrestare il pc e farmi chiedere se voglio eseguire lo script?
Eventualmente bisogna impostare qualche cosa nel file batch?
Ciao e grazie
fabio309
26-09-2006, 09:00
devi usare il comando choice
es
@echo off
echo Menù.. scegli!
Choice /C:den Dir,Edit,Nulla
If errorlevel 3 goto dirr
If errorlevel 2 goto editt
If errorlevel 1 goto nulla
:dirr
dir
goto nulla
:editt
edit
goto nulla
:nulla
Ramsesdea
26-09-2006, 12:38
Ciao, scusa mi potresti dare una mano a crearlo se puoi?
metti conto che il comando da richiamare è questo:
c:\pippo.bat
come creo il comando choice?
:dhò:
Tieni presente che CHOICE è un programma, è presente solamente nelle varianti non NT di Windows quelle ancora basate su DOS (Win95 e Win98).
Sotto Windows XP e simili non funziona, chiaramente, non essendo un comando lecito.
Le soluzioni sono l'utilizzo del comando IF, sotto un esempio che ti fa partire Pippo.
@ECHO off
cls
:start
cls
ECHO *********************
ECHO 1. Esegui Pippo.bat
ECHO 2. Esci dal Menu
ECHO *********************
set choice=
set /p choice=Seleziona un numero dal Menu.
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='1' goto pippo
if '%choice%'=='2' goto esci
ECHO "%choice%" non valido inserisci di nuovo
ECHO.
goto start
:pippo
cls
c:\pippo.bat
goto esci
:esci
cls
e per chi ha XP Home:
Installazione gpedit.msc su Windows XP Home
Sistema operativo: Windows XP Home
Windows XP Home non mette a disposizione gli strumenti di gestione policy, nello specifico la console gpedit.msc .
È possibile installarle usando questo trucchetto:
Copiare i seguenti file da windows xp professional nella cartella windows\system32
appmgmts.dll
appmgr.dll
fde.dll
fdeploy.dll
gpedit.msc
gpedit.dll
gptext.dll
Creare la cartella c:\windows\system32\GroupPolicy\Adm e copiare al suo interno i seguenti file
system.adm
inetres.adm
conf.adm
Infine aprire il prompt di dos (start -> esegui -> cmd) e registrare i seguenti componenti che si trovano nella cartella windows\system32
regsvr32 gpedit.dll
regsvr32 fde.dll
regsvr32 gptext.dll
regsvr32 appmgr.dll
regsvr32 fdeploy.dll
Chiudere il prompt di dos e ecco disponibile gpedit.msc
Ramsesdea
26-09-2006, 14:57
Ciao KuFu il batch che mi hai dato funziona alla grande, quando lo eseguo fa quello che mi serve a me cioè mi chiede quello che voglio fare.
Se questo però lo metto nel gpedit.msc nella chiusura di windows, quando chiudo windows, mi rimane nella schermata di chiusura con la scritta "Esecuzione Script in corso"
Il problema però è che rimane quella schermata e non mi da la possibilità di scegliere se eseguire o uscire dal menu. Al quel punto devo spegnere tenendo premuto il tastp di accensione.
Come posso fare?
Grazie ancora
:ciauz: