谁希望成为脚本专家?

每周脚本测验题

每周脚本测验题

2005 年 11 月 18 日:别担心:所有人 - 甚至您本人 - 都不能获得这些数据


电视节目中常有这样一类经得起考验的情节:安全系统的安全性是如此之高,以致任何人都不能通过,包括设计、建造它的人,最终也会被其困住。在电视上看到这类情节时,您会忍俊不禁。但在现实生活中遇到这类事情时,就没那么好笑了。

例如,看看下面这个用来帮助我们审核“安全”事件日志的简单的小脚本。该脚本的全部功能就是连接到计算机上的“安全”事件日志,并检索事件代码为 529:“未知用户名或无效密码”的所有事件。正如您所看到的,这是个非常简单的小脚本:

On Error Resume Next

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colEvents = objWMIService.ExecQuery _
        ("Select * From Win32_NTLogEvent Where LogFile = 'Security' AND EventCode = '529'")

For Each objEvent in colEvents
    Wscript.Echo "Category: " & objEvent.Category
    Wscript.Echo "Computer Name: " & objEvent.ComputerName
    Wscript.Echo "Event Code: " & objEvent.EventCode
    Wscript.Echo "Message: " & objEvent.Message
    Wscript.Echo "Record Number: " & objEvent.RecordNumber
    Wscript.Echo "Source Name: " & objEvent.SourceName
    Wscript.Echo "Time Written: " & objEvent.TimeWritten
    Wscript.Echo "Event Type: " & objEvent.Type
    Wscript.Echo "User: " & objEvent.User
    Wscript.Echo objEvent.LogFile
Next

您可能已猜出了可笑之处(你们这些家伙电视节目看得太多了!):当我们运行该脚本时,它不返回任何数据,即使我们已确知“安全”事件日志中存在事件代码为 529 的记录。我们不但未得到任何数据,就连任何错误消息也没提供。诚然,我们不希望随便什么人都能进入并阅读“安全”事件日志,但这个脚本未免做得过火了一点。

这个脚本的问题到底出在哪儿?


返回页首返回页首