Proper usage of eventquery.vbs
-
Windows XP ships with a program called eventquery.vbs in \Windows\System32. I opened it up to see how it works. Near the top, along with all the other constants, I see this:
[color=green]' Contents for showing help for Usage [/color]
[color=blue]CONST[/color] L_ShowUsageLine00_Text = [color=maroon]"No logs are available on this system for query."[/color]
[color=blue]CONST[/color] L_ShowUsageLine01_Text = [color=maroon]"EVENTQUERY.vbs [/S system [/U username [/P password]]] [/FI filter]"[/color]
[color=blue]CONST[/color] L_ShowUsageLine02_Text = [color=maroon]" [/FO format] [/R range] [/NH] [/V] [/L logname | *]"[/color]
[color=blue]CONST[/color] L_ShowUsageLine03_Text = [color=maroon]"Description:"[/color]
[color=blue]CONST[/color] L_ShowUsageLine04_Text = [color=maroon]" The EVENTQUERY.vbs script enables an administrator to list"[/color]
[color=blue]CONST[/color] L_ShowUsageLine05_Text = [color=maroon]" the events and event properties from one or more event logs."[/color]
...At the very bottom of the file, nearly 2000 lines later, there's this:
[color=green]'********************************************************************[/color]
[color=green]'* Sub: ShowUsage[/color]
[color=green]'*[/color]
[color=green]'* Purpose: Shows the correct usage to the user.[/color]
[color=green]'*[/color]
[color=green]'* Output: Help messages are displayed on screen.[/color]
[color=green]'*[/color]
[color=green]'********************************************************************[/color]
[color=blue]Private[/color] [color=blue]Sub[/color] ShowUsage ()
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine01_Text
WScript.Echo L_ShowUsageLine02_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine03_Text
WScript.Echo L_ShowUsageLine04_Text
WScript.Echo L_ShowUsageLine05_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine06_Text
WScript.Echo L_ShowUsageLine07_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine08_Text
WScript.Echo L_ShowUsageLine09_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine10_Text
WScript.Echo L_ShowUsageLine11_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine12_Text
WScript.Echo L_ShowUsageLine13_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine14_Text
WScript.Echo L_ShowUsageLine15_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine16_Text
WScript.Echo L_ShowUsageLine17_Text
WScript.Echo L_ShowUsageLine18_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine19_Text
WScript.Echo L_ShowUsageLine20_Text
WScript.Echo L_ShowUsageLine21_Text
WScript.Echo L_ShowUsageLine22_Text
WScript.Echo L_ShowUsageLine23_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine24_Text
WScript.Echo L_ShowUsageLine25_Text
WScript.Echo L_ShowUsageLine26_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine27_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine28_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine29_Text
WScript.Echo L_ShowUsageLine30_Text
WScript.Echo L_ShowUsageLine31_Text
WScript.Echo L_ShowUsageLine32_Text
WScript.Echo L_ShowUsageLine33_Text
WScript.Echo L_ShowUsageLine34_Text
WScript.Echo L_ShowUsageLine35_Text
WScript.Echo L_ShowUsageLine36_Text
WScript.Echo L_ShowUsageLine37_Text
WScript.Echo L_ShowUsageLine38_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine39_Text
WScript.Echo L_ShowUsageLine40_Text
WScript.Echo EmptyLine_Text
WScript.Echo L_ShowUsageLine41_Text
WScript.Echo L_ShowUsageLine42_Text
WScript.Echo L_ShowUsageLine43_Text
WScript.Echo L_ShowUsageLine44_Text
WScript.Echo L_ShowUsageLine45_Text
WScript.Echo L_ShowUsageLine46_Text
WScript.Echo L_ShowUsageLine47_Text
WScript.Echo L_ShowUsageLine48_Text
WScript.Echo L_ShowUsageLine49_Text
WScript.Echo L_ShowUsageLine50_Text
WScript.Echo L_ShowUsageLine51_Text
WScript.Echo L_ShowUsageLine52_Text
WScript.Echo L_ShowUsageLine53_Text
[color=blue]End Sub[/color]
-
Was this written by SpectateSwamp? Will it display log entries randomly in 2-3 second intervals? SpectateSwamp must be a Microsoft developer...
-
Of course it was, SpectateSwamp is the last word in event querying, AND noodling!
-
I can see a somewhat logical reason for the constants. Perhaps the legal or marketting had to come up with the screen, so the original author used constants for easy modification.
The real WTF, is that they didn't just use ONE constant with embedded line breaks.
-
The real WTF is that they used VBScript.
-dZ.
-
@Jonathan Holland said:
I can see a somewhat logical reason for the constants. Perhaps the legal or marketting had to come up with the screen, so the original author used constants for easy modification.
Pretty good theory. I like that idea too, except the ShowUsage sub is right at the end of the script and the constants are awkwardly in the middle of an alphabetical list of variables. Surely finding and editing the sub would have been easier.
-
@yet another Matt said:
... the constants are awkwardly in the middle of an alphabetical list of variables.
I think you missed the
[code]'----------------------------------------------------------------
[/code]and
' Start of localization Content
'----------------------------------------------------------------[code]'-------------------------------------------------------------------------
' END of localization content
'-------------------------------------------------------------------------[/code]
comments.