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