####SCRIPT PER CONTROLLARE TIME DRIFT WINDOWS#### #nome file di log $logFile = "W32TimeDriftCheck.log" #cartella file di log $logFolder = "c:\Steamware\Logs\" #opzione log su file: scrivo se = 1, ignoro se = 0 $logType = 1 #opzione output in terminale: scrivo se = 1, ignoro se = 0 $terminalOutput = 1 #Ipv4 PDC $PDC = "10.74.82.251" #Ipv4 BDC $BDC = "10.74.82.250" #Nome host su Zabbix per invio con trapper $ZabbixHost = "WIN2022-SQL-DEV" #creazione folder di Log se non giĆ  esistente if (Test-Path $logFolder) { } else { New-Item $logFolder -ItemType Directory } #funzione locale per log su file e output su terminale Function WriteLogOutput { Param ([string]$logString) #compongo path per file di log $logPath = Join-Path $logFolder $logFile #scrivo su file la stringa se $logType=1 if ($logType -eq 1) { Add-content $logPath -value "$logString" } #scrivo su terminale la stringa se $terminalOutput=1 if ($terminalOutput -eq 1) { Write-Output($logString) } } #rilevo tempo locale e differenza PDC, restituisco in secondi $localTime, $timeDifferencePDC = (& w32tm /stripchart /computer:$PDC /samples:1 /dataonly)[-1].Trim("s") -split ',\s*' #rilevo tempo locale e differenza BDC, restituisco in secondi $localTime, $timeDifferenceBDC = (& w32tm /stripchart /computer:$BDC /samples:1 /dataonly)[-1].Trim("s") -split ',\s*' #scrivo log data e ora WriteLogOutput "" WriteLogOutput "Script Execution: $localTime" #invio a zabbix i dati & "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabproxy.ufficio -s $ZabbixHost -k W32.TimeDifferencePDC -o $timeDifferencePDC & "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabproxy.ufficio -s $ZabbixHost -k W32.TimeDifferenceBDC -o $timeDifferenceBDC #output differenza PDC WriteLogOutput "Time Difference W2022PDC: $timeDifferencePDC s" #output differenza BDC WriteLogOutput "Time Difference W2022BDC: $timeDifferenceBDC s" WriteLogOutput ""