将dd monthname yyyy转换为dd-mm-yy并检查当前系统日期

时间:2017-10-04 16:42:58

标签: date vbscript

如果防病毒更新超过5天,我想锁定或重启/关闭Windows系统。

所以我决定从AV应用程序获取最新更新的数据并重定向到文本文档。但最后更新的日期在日志中显示为"dd monthname yyyy"

我想将此日期与当前系统日期相匹配。我需要在系统日期前5天验证上次更新日期。如果AV未更新5天或更长时间我想锁定或重启系统。我想通过使用vbsrcipt来实现这一点,以便我将部署在组策略中。

这是我在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

请帮助使用vbscript代码来完成相同的操作。

1 个答案:

答案 0 :(得分:-1)

在SetLocale的帮助下,CDate()了解英文月份名称:

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

(德国)输出:

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