Solved

VBS Expected Statement?

Posted on 2009-04-01
5
759 Views
Last Modified: 2012-05-06
I'm having an issue on line 21, 2 (Wend) with an Expected Statement

Microsoft VBScript compilation error: Expected statement

This may not have anything to do with Wend but may have something to do with incorrect statement somewhere else in the script I don't know.

Does anybody see anything obvious? What the script does is remote to a server and read the log file. If the log contains the string blahblah, it will send an email notification.

Thi sscript is very helpfull to me so if anybody can help out I would greatly appreciate it and give you 500 points :)
Const ForReading = 1
strlocalPath = "c$\corestreet\authority\logs\rtc-java-0.log"
strBadString = "No CRL available for issuer ID"
'ADD YOUR SERVER NAMES TO THIS ARRAY....
arrServers=Array("server1","server2","server3")
 
'Build the date string to look for... (ie. today's date in the format yyyy.mm.dd)
strDateLookFor = Date Part("yyyy",Date) & "." 
If Date Part("m",Date) < 10 Then strDateLookFor = strDateLookFor & "0" & Date Part("m",Date) 
 
_
	Else strDateLookFor = strDateLookFor & Date Part("m",Date)
If Date Part("d",Date) < 10 Then strDateLookFor = strDateLookFor & ".0" & 
 
Date Part("d",Date) _
	Else strDateLookFor = strDateLookFor & "." & Date Part("d",Date)
 
Set fso = CreateObject("scripting.filesystemobject")
For i = 0 To UBound(arrServers)
	Set objTxt = fso.OpenTextFile("\\" & arrServers(i) & strLocalPath,ForReading)
	While Not objTxt.AtEndOfStream
		strLine = objTxt.ReadLine
		If InStr(strLine,strDateLookFor) > 0 And InStr(strLine,strBadString) Then 
 
sendEmail arrServers(i),strDateLookFor,strBadString
	Wend
Next
 
Set fso = Nothing
Set objTxt = Nothing
 
Sub sendEmail(strServer,strDateLookFor,strBadString)
 
Set objMessage = CreateObject("CDO.Message") 
Const smtpPort = 25
Const sendUsing = 2
Const smtpServer = "yup"
objMessage.To = "yup"
objMessage.From = "yup"
objMessage.Subject = "Log Alert!"
body = "<b>A BAD entry has been found in the log file for server : " & strServer & 
 
"</b><br><br>"
body = body & "Date : " & strDateLookFor & " - " & strBadString
objMessage.HTMLBody = body
 
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendu
 
sing") = sendUsing 
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtps
 
erver") = smtpServer
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtps
 
erverport") = smtpPort 
objMessage.Configuration.Fields.Update
 
objMessage.Send
Set objMessage = Nothing
End Sub
 
Open in New Window Select All

Open in new window

0
Comment
Question by:snyderkv
  • 2
  • 2
5 Comments
 
LVL 142

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 250 total points
ID: 24044258
you are missing a END IF before the WEND
0
 
LVL 67

Assisted Solution

by:sirbounty
sirbounty earned 250 total points
ID: 24044457
or you can run this command altogether since you don't have an else...

If InStr(strLine,strDateLookFor) > 0 And InStr(strLine,strBadString) Then sendEmail arrServers(i),strDateLookFor,strBadString
0
 

Author Comment

by:snyderkv
ID: 24044597
Thanks a ton that worked.

My last error may be too simple to create an all new thread over so if it's obvious to you guys please point it out. I will be waiting for the next couple hours.

Microsoft VBScript compilation error: Syntax error
The line below is the last line in the script that has issues.

Open In New Window Select All
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 24044609
remove line 62 altogether...it's not script code...
0
 

Author Comment

by:snyderkv
ID: 24044662
lol
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Recently I finished a vbscript that I thought I'd share.  It uses a text file with a list of server names to loop through and get various status reports, then writes them all into an Excel file.  Originally it was put together for our Altiris server…
Welcome, welcome!  If you are new to the series and haven't been following along, please take a brief moment to review the first three installments: Part 1 (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/A_266-VBScri…
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

785 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question