PDA

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ò:

KuFu
26-09-2006, 14:04
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

KuFu
26-09-2006, 14:13
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:

Loading