2017-10-04 2 views
0

Je veux verrouiller ou redémarrer/arrêter le système Windows si l'antivirus n'est pas mis à jour plus de 5 jours. J'ai donc décidé d'obtenir les dernières données mises à jour de l'application AV et de les rediriger vers un document texte. Mais la dernière date mise à jour montrant dans les journaux comme "dd monthname yyyy".convertir dd monthname yyyy en jj-mm-aa et vérifier avec la date actuelle du système

Je veux faire correspondre cette date avec la date actuelle du système. Je dois valider la dernière date mise à jour avec 5 jours avant la date du système. Si AV n'est pas mis à jour 5 jours ou plus, je veux verrouiller ou redémarrer le système. Je veux accomplir cela en utilisant vbsrcipt pour que je puisse le déployer dans la stratégie de groupe.

Voici mon exemple de fichier journal de Mcafee AV.

CommonShell Command Line Scanner Lite (VSCORE.15.6.0.1551) 

Engine Version  : 5900.7806 
Engine Load Time : 5312 milliseconds 
AV  DAT Version : 8673.0000 668571 detections Built 03 October 2017 

Extra DAT   :     0 detections 

Veuillez aider avec le code vbscript pour accomplir le même.

Répondre

-1

Avec un peu d'aide de SetLocale, CDate() comprend: anglais monthNames

Option Explicit 

SetLocale "en-us" ' now it understands "October", but won't do m/d/y 

Dim d : d = Date() 
Dim s 
For Each s In Split("03 October 2017*01 October 2017*29 September 2017", "*") 
    Dim di : di = CDate(s) 
    Dim dd : dd = Datediff("d", d, di) 
    WScript.Echo d, di, dd, CStr(dd < -4) 
Next 

(allemand) Sortie:

cscript 46570030.vbs 
04.10.2017 03.10.2017 -1 Falsch 
04.10.2017 01.10.2017 -3 Falsch 
04.10.2017 29.09.2017 -5 Wahr