Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

creazione policy spegnimento pc in dominio

137 views
Skip to first unread message

giuseppe

unread,
Jun 26, 2008, 7:41:13 AM6/26/08
to
Buongiorno, non riesco a creare una policy per lo spegnimento dei pc che
fanno parte di un dominio. Qualcuno mi puņ dire passo-passo come fare? io
avevo creato uno script con estensione BAT che mi spegneva il pc ad una
determinata ora con il comando shutdown.exe, solo che i pc non si spengono.
dove sbaglio?
grazie

gas

unread,
Jun 26, 2008, 8:51:00 AM6/26/08
to
"Daniele" wrote:
> ho fatto una policy user con dentro 2 script eseguiti allo startup.
> Un VBS mappa i dischi.

Strano che uno "startup script" ti funzioni per la mappatura dei dischi,
visto che viene eseguito nel contesto NT AUTHORITY\System e non ha accesso
alle sharing (escluse sysvol e netlogon)...

forse parli "script di logon" o script di avvio o logon script

Forse i dischi sono stati mappati in presedenza con l'opzione persistent,
quindi sembra funzionare.

> Un altro VBS esegue delle operazioni cercando files sui dischi mappati.
> Gli script sono stati messi in ordine cosi :
>
> mappadischi.bvs
> exeoperazioni.vbs
>
> Putroppo viene eseguito il primo e non il secondo.
> Lo script l'ho provato e lanciato a mano funziona.

workaround: riunisci i due script in uno unico e aggiungi qualche linea di
codice perche' ti scriva qualcosa su di un file per avere la certezza
dell'esecuzione.

> A tal proposito ho 2 dubbi : in che modo gli script sono priorizzati? nel
> senso prima viene eseguito uno e poi parte l'altro?

L'esecuzione di vbscript dovrebbe essere asincrona, per certezza fai due
script
come sotto e verifichi
' ********** primo.vbs
DIM fso, DebugFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set debugFile = fso.CreateTextFile("c:\debugfile.txt", True)
debugFile.WriteLine("PRIMO.vbs sono partito ore:" & now)
WScript.Sleep(50000)
debugFile.WriteLine("50 secondi sono passati")
debugFile.WriteLine("Ho finito" & now)
debugFile.Close
' *** end primo.vbs

' ********** secondo.vbs
DIM fso, DebugFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set debugFile = fso.CreateTextFile("c:\debugfileDUE.txt", True)
debugFile.WriteLine("secondo.vbs sono partito ore:" & now)
WScript.Sleep(50000)
debugFile.WriteLine("50 secondi sono passati")
debugFile.WriteLine("Ho finito" & now)
debugFile.Close
' *** end secondo.vbs

> Non c'e' modo che vengano eseguiti contemporaneamente?
Si
Se vuoi avere la certezza di farli partire quasi contemporaneamente
usi un batch che li esegue in asincrono usando start
::*** script asincroni
::*** contemporanei.cmd
start cscript.exe //nologo \\path\to\my\script\mappadischi.bvs
start cscript.exe //nologo \\path\to\my\script\ exeoperazioni.vbs
:: *** end batch

ciao
--
Gastone Canali
http://www.experts-exchange.com/M_292401.html
--

gas

unread,
Jun 26, 2008, 9:01:00 AM6/26/08
to
"giuseppe" wrote:
> Buongiorno, non riesco a creare una policy per lo spegnimento dei pc che
> fanno parte di un dominio. Qualcuno mi pu dire passo-passo come fare? io
> avevo creato uno script con estensione BAT che mi spegneva il pc ad una
> determinata ora con il comando shutdown.exe, solo che i pc non si spengono.
> dove sbaglio?

Io uso uso lo script spegnitutti.cmd "schedulato" come administrator su di
un server sempre acceso.

:::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
::
:: spegnitutti.cmd
:: spegne in asincrono solo i pc accesi
:: prelevandoli dalla lista
:: C:\admin\chiusura\pc_da_spegnere.txt
:: Gastone Canali
:: novembre 2006
echo %date%>c:\temp\_log.txt
for /f %%c in (C:\admin\chiusura\pc_da_spegnere.txt) do (
ping 127.0.0.1 -n 1
call :_SHUT %%c
)
)
goto :_FINE
pause

:_ACCESO
REM verifico se il pc e' acceso o spento
REM se rirponde al ping allora e' "vivo"
ping %pc% -n 2|find "TTL=" >nul && (echo ACC && call :_SHUT FA-A000%%c)
goto :_EOF

:_SHUT
echo >%temp%\%1.cmd @echo off
echo>>%temp%\%1.cmd ping %1 -n 2^|find "TTL=" ^>nul ^&^& (echo ACC ^&^&
goto :_TISPENGO)
echo>>%temp%\%1.cmd goto :_FINE
echo>>%temp%\%1.cmd :_TISPENGO
echo>>%temp%\%1.cmd echo VIVO %1 - Ti spengo!!
echo>>%temp%\%1.cmd shutdown -s -f -t 199 -c "TUTTI A CASA" -m %1
echo>>%temp%\%1.cmd rem pause
echo>>%temp%\%1.cmd :_FINE
echo>>%temp%\%1.cmd exit
start %temp%\%1.cmd
goto :_EOF
:_FINE
:_EOF
:::: fine batch :::::::::::::::::::::::

gas

unread,
Jun 26, 2008, 11:09:02 AM6/26/08
to
Errore di post, il mio client era impazzito!!

Fausto

unread,
Jun 28, 2008, 6:46:00 PM6/28/08
to
Se vuoi proprio usare il comando di SHUTDOWN.EXE allora devi aggiungere il
parametro /m in questo modo:

shutdown /m \\pc01 /s /f /t xxx /c "Testo se vuoi far comparire sul PC che
stai per spegnere"

xxx= è il tempo che vuoi dare prima che il PC si spenga

shutdown /m \\pc01 /a
Se invece vuoi annullare lo spgnimento in corso

"giuseppe" wrote:

> Buongiorno, non riesco a creare una policy per lo spegnimento dei pc che

> fanno parte di un dominio. Qualcuno mi pu dire passo-passo come fare? io

0 new messages