小编Nas*_*asa的帖子

VBScript - 不知道为什么我的参数没有像变量一样使用

我编写了一个 VBScript 来枚举特定日期的事件日志中的事件。

第一个查询从今天日期和昨天日期之间的 NT 事件日志事件中选择,

Set colEvents = objWMIService.ExecQuery _
    ("Select * from Win32_NTLogEvent Where TimeWritten >= '" _ 
        & dtmStartDate & "' and TimeWritten < '" & dtmEndDate & "'") 
Run Code Online (Sandbox Code Playgroud)

然后,从上面的查询中,我想从日志文件中提取事件 ID。

For Each objEvent in colEvents
    If objEvent.Eventcode = EventNu And (objEvent.LogFile = EventLog) Then
Run Code Online (Sandbox Code Playgroud)

我已将以下内容放入脚本中并且它可以工作,但是我想通过命令行使用参数(即 EventLogCheck.vbs EventNumber LogFile ),但是如果我使用脚本的参数部分,则不会返回任何项目。这让我抓狂。下面的完整脚本使用变量,我已注释掉参数部分,但您可以取消注释并使用它。我究竟做错了什么?谢谢你的帮助!

Const CONVERT_TO_LOCAL_TIME = True
Dim EventLog

EventNu = 18
EventLog = "System"

'Input from the command line
'If Wscript.Arguments.Count <= 1 Then
'   Wscript.Echo "Usage: EventLogCheck.vbs EventNumber …
Run Code Online (Sandbox Code Playgroud)

variables vbscript arguments

3
推荐指数
1
解决办法
3513
查看次数

VBScript 类型不匹配

我的 VBScript 脚本中存在类型不匹配。我知道该值是正确的,但不确定它为什么会出现。

这是脚本终止的行:

WScript.Echo "DNS Server Search Order: " & objNicItem.DNSServerSearchOrder
Run Code Online (Sandbox Code Playgroud)

该脚本需要一个名为的文件servers.txt(其中包含服务器列表,我正在使用我自己的工作站名称进行测试)。

如果我做一个error on resume next脚本工作。但是,如果服务器列表已填充。它显示的信息与对每个主机再次起作用的 fisrt 相同,因此它不正确。

'Input from the command line
If Wscript.Arguments.Count = 0 Then
    Wscript.Echo "Usage: DNSAudit.vbs servers.txt "
    Wscript.Quit
End If

'Input from txt file
Const ForReading = 1
Set objArgs = WScript.Arguments
Set objDictionary = CreateObject("Scripting.Dictionary")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(ObjArgs(0), ForReading)
i = 0
Do Until objTextFile.AtEndOfStream
    StrNextLine = objTextFile.ReadLine
    objDictionary.Add i, StrNextLine
    i = …
Run Code Online (Sandbox Code Playgroud)

vbscript types type-mismatch

0
推荐指数
1
解决办法
2万
查看次数

标签 统计

vbscript ×2

arguments ×1

type-mismatch ×1

types ×1

variables ×1