mercoledì 12 luglio 2023

File VbScript - Calcolare Durata Procedura

 Vi riporto il codice per poter calcolare il tempo trascorso in un file VbScript

-----------------------------------------------------------------------------------------------------------------------


DataInizio = Now

OrarioInizio = Hour(DataInizio) & ":" & Minute(DataInizio) & ":" & Second(DataInizio)

SecondiInizio = (Hour(DataInizio) * 3600) + (Minute(DataInizio) * 60) + Second(DataInizio)

SecondiInizio = 86400 - SecondiInizio


WScript.Sleep 2000


DataFine = Now

GiorniPassati=DateDiff("d",DataInizio,DataFine)

OrarioFine = Hour(DataFine) & ":" & Minute(DataFine) & ":" & Second(DataFine)

SecondiFine = (Hour(DataFine) * 3600) + (Minute(DataFine) * 60) + Second(DataFine)


IF OrarioFine < OrarioInizio Then GiorniPassati = GiorniPassati - 1


DurataProcedura = SecondiInizio + SecondiFine

If DurataProcedura >= 86400 then DurataProcedura = DurataProcedura - 86400


Ore = DurataProcedura \ 3600

Minuti = (DurataProcedura - (Ore * 3600)) \ 60

Secondi = DurataProcedura -((Ore * 3600)+(Minuti*60))


If GiorniPassati <> 0 then

    wscript.echo "Durata Procedura : " & GiorniPassati & " giorni, " & Ore & ":" & Minuti & ":" & Secondi

Else

    wscript.echo "Durata Procedura : " & Ore & ":" & Minuti & ":" & Secondi

End If

Etichette: , , , , , ,

lunedì 10 luglio 2023

File VbScript - Controllare se Processo Avviato e Attendere Chiusura

Vi riporto il codice di un VbScript che monitora se il processo NOTEPAD.EXE è avviato, nel caso lo sia attende fino a quando non viene chiuso.

-----------------------------------------------------------------
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
On Error Resume Next
Do
   Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'notepad.exe'").ItemIndex(0)
   If Err.Number <> 0 Then Exit Do
Loop
wscript.echo "Notepad Chiuso"
-----------------------------------------------------------------

Etichette: , , , , ,

sabato 27 novembre 2010

VBScript Log Backup WbAdmin - Windows Server 2008

Questo VBScript genera un file di LOG del Backup generato con il comando: WBADMIN

Ad ogni Backup lanciato con il comando Wbadmin Windows Server 2008 genera 3 Eventi nel Registro Eventi Microsoft-Windows-Backup.

Tramite i seguenti comandi:
WEVTUTIL QE MICROSOFT-WINDOWS-BACKUP /F:TEXT /C:3 /RD:TRUE >C:\LOG.TXT
WEVTUTIL QE MICROSOFT-WINDOWS-BACKUP /F:XML /C:3 /RD:TRUE >C:\LOG.XML
esporto i 3 eventi generati dal Backup in modo tale da poterli leggere ed interpretare.

Una volta Letti ed Interpretati il VBScript può generare un File TXT o inviare immediatamente un EMAIL contenente il Log in Italiano o in Inglese.

Per poter scegliere il metodo di funzionamento basterà modificare le Costanti all'interno del VbScript stesso. Troverete le Costanti all'interno del seguente commento:
'----------------------------- Parametri UTENTE ----------------------------------
'----------------- Questi parametri possono essere Modificati --------------------
Si Ricorda che per Eseguire il VBScript si necessita di 3 Parametri fondamentali:
  1. NomeBackup (Contenete il Nome del Backup)
  2. FileLogTXT (Contenente il Percorso completo del File di Log.txt)
  3. FileLogXML (Contenente il Percorso completo del File di Log.xml)
Facciamo qualche esempio:

1. Adesso andremo ad eseguire il Backup del Disco C su un percorso di rete ed invieremo il File di Log via Email.
Editiamo il nostro VbScript Wbadmin_Log ed impostiamo la Costante Metodo = "EMAIL" in questo modo invieremo in modo automatico il Log via Email.

Ricordiamoci comunque di impostare tutti i Parametri Email.

Creiamo un File Batch contenente i seguenti Comandi:

Wbadmin start backup -backupTarget:\\IndirizzodiReteNAS\Backup\Disco_C -include:C: -vssFull -quiet
WEVTUTIL QE MICROSOFT-WINDOWS-BACKUP /F:TEXT /C:3 /RD:TRUE >C:\LOG.TXT
WEVTUTIL QE MICROSOFT-WINDOWS-BACKUP /F:XML /C:3 /RD:TRUE >C:\LOG.XML
C:\Wbadmin_Log.vbs Backup_DISCO_C C:\LOG.TXT C:\LOG.XML

Eseguiamo il File Batch e il gioco è fatto.
2. Adesso andremo ad eseguire il Backup Del Disco C e del Disco E su un percorso di rete e generiamo un File di Log per ogni Backup che in un secondo momento Invieremo tramite Email. Per fare ciò ci verrà in aiuto un altro VbScript, Send_Log.vbs
Editiamo il nostro VbScript Wbadmin_Log ed impostiamo la Costante Metodo = "FILE" e la Costante Destinazione = "C:\Log\" , in questo modo creerà un File TXT, contenente il Log del Backup, all'interno della cartella C:\Log.

Ricordiamoci comunque di impostare tutti i Parametri Email all'interno del VbScript Send_Log.vbs .

Faccio una premessa, il VbScript Send_Log.vbs eseguirà un Backup dei File di Log inviati tramite email all'interno di una cartella apponendo prima del Nome la Data. Per impostare la cartella di Backup editare la Costante FolderDestination.

Creiamo un File Batch contenente i seguenti Comandi:

Wbadmin start backup -backupTarget:\\IndirizzodiReteNAS\Backup\Disco_C -include:C: -vssFull -quiet
WEVTUTIL QE MICROSOFT-WINDOWS-BACKUP /F:TEXT /C:3 /RD:TRUE >C:\LOG.TXT
WEVTUTIL QE MICROSOFT-WINDOWS-BACKUP /F:XML /C:3 /RD:TRUE >C:\LOG.XML
C:\Wbadmin_Log.vbs Backup_DISCO_C C:\LOG.TXT C:\LOG.XML
Wbadmin start backup -backupTarget:\\IndirizzodiReteNAS\Backup\Disco_E -include:E: -vssFull -quiet
WEVTUTIL QE MICROSOFT-WINDOWS-BACKUP /F:TEXT /C:3 /RD:TRUE >C:\LOG.TXT
WEVTUTIL QE MICROSOFT-WINDOWS-BACKUP /F:XML /C:3 /RD:TRUE >C:\LOG.XML
C:\Wbadmin_Log.vbs Backup_DISCO_E C:\LOG.TXT C:\LOG.XML
C:\Send_Log.vbs C:\Log

Eseguiamo il File Batch e il gioco è fatto.
Adesso non resta altro che sbizzarrivvi nell'utilizzo che riteniate migliore.


Download

Etichette: , , , , , ,