亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > VBScript > 正文

vbscript logparser的ISA2004 Web流量報告

2020-03-24 16:38:07
字體:
來源:轉載
供稿:網友
很喜歡這里的學習氣氛,也很佩服兩位版主的技術水平,希望能夠在這里與大家多多交流。
作為見面禮吧,把前一陣子寫的一個生成ISA 2004 Web 流量報告的腳本與大家分享。說明下,該校本是首發而且僅發在這里,我沒有在菊花里面或任何地方發過。大家可以隨意更改腳本以便適合你的要求,轉載請保留作者信息謝謝。

我的很多客戶希望能夠每天或每周得到一份員工瀏覽Web情況的報告,例如所訪問的站點以及流量等等,他們都使用ISA2004作為web proxy。由于ISA2004自帶的report不能滿足他們的要求,所以我寫了這個腳本,用來生成報告。使用前請先閱讀readme.txt
復制代碼 代碼如下:
'ISA 2004 Web Log Query Tool
'Created by mwpq
'Version 1.0
'Date 2007.9.18


On Error Resume Next

Dim startdate, enddate
Dim topweb, topuser,usertop, usertopweb

'Configuration part of the script
'==================================================================
startdate = 1 ' the newest log files to be queried. 1 means one day ago
interday = 7 ' the oldest log files is startdate + interday
' For example startdate =1, interday =7 means script will query log files between 8 days ago and yesterday's.

topweb="Top 20" ' List Top 20 Websites visited. Just change 20 to other No to get what you want like "top 21" will list top 21 websites.
topuser="Top 10" ' List Top 10 users and their total usage.
Usertop = "Top 20" ' List Top 20 Users with their top websites, depend on uesrtopweb. set to "" to list all users web usage
usertopweb = "Top 10"
sMailTo = "mwpq@yahoo.com" 'Send email repor to
sMailFrom = "admin@yourdomain.com 'Email comes from
sMailSub = "ISA Web Traffic Report" 'Email Title
sSMTPServer = "youremailserver" 'Email server
strMessage = "Please see attachment for the ISA Web Traffic Report." 'Email txt body.
satt = "C:/Program Files/Microsoft ISA Server/ISALogs/report.htm" 'Email attachment path. The report.htm will be created under ISA's log folder.

'===================================================================



Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing", _
cdoSendUsingPort = 2, _
cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"

'Create the html reprot and write the html header
'=================================================================================================================
Const BEGIN_TABLE = " TABLE width=100% BORDER=0 CELLSPACING=1 CELLPADDING=2 "
Const END_TABLE = " /TABLE "
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
Set oFSO = CreateObject("Scripting.FileSystemObject")
If oFSO.FileExists("./report.htm") Then
oFSO.Deletefile("./report.htm")
End If
If oFSO.FileExists("./tempsum.w3c") Then
oFSO.Deletefile("./tempsum.w3c")
End If
Set oFile = oFSO.OpenTextFile("./report.htm", ForWriting, True, true)

'Write the HTML head to file suit for IE viewer.
oFile.writeline (" HTML " & vbcrlf & _
" HEAD " & vbcrlf & _
" TITLE ISA Web Usage Reports /TITLE " & VbCrLf & _
" style type=""text/css"" " & vbcrlf)
oFile.writeline (" !--" & vbcrlf & _
".Title {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color:'#0000cc'}" & vbcrlf & _
".head {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; color:'#ffffff'}" & vbcrlf & _
".category {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; color:'#ffffff'}" & vbcrlf & _
".result {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color:'#000000'}" & vbcrlf & _
".alert {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; color:'#ff0000'}" & vbcrlf & _
"a {color: '#000066'; text-decoration:none;}" & vbcrlf & _
"a:hover {text-decoration:underline}" & vbcrlf & _
"-- " & vbcrlf)

oFile.writeline (" /style " & VbCrLf & _
" /HEAD " & VbCrLf & _
" body bgcolor=#ffffff " & VbCrLf)

oFile.writeline " p class = Title ISA Web Traffic Report - From "&date-startdate-interday&" to "&date-startdate
oFile.writeline " p "
'=================================================================================================================
'End of create html report header part


'build the log file name list
spath = ""

while interday = 0

dtmDate = date - startdate - interday

'Convert the current Date to UTC
'=================================================================================================================
strDay = Day(dtmDate)
If Len(strDay) 2 Then
strDay = "0" & strDay
End If
strMonth = Month(dtmDate)
If Len(strMonth) 2 Then
strMonth = "0" & strMonth
End If
strYear = Year(dtmDate)

sdate = strYear & strMonth & strDay
'=================================================================================================================

stemp2 = "'"&"ISALOG_"&sdate&"_WEB_* "&"'"
spath = spath & stemp2

if interday - startday 0 then
spath = spath&", "
end if

interday = interday - 1
wend





'Create a temp sumary file
set objLogParser = CreateObject("MSUtil.LogQuery")
Set objInputFormat = _
CreateObject("MSUtil.LogQuery.W3CInputFormat")
SET w3cOutputFormat = WScript.CreateObject("MSUtil.LogQuery.W3COutputFormat")
w3cOutputFormat.filemode = 1 ' Set file to overwrite mode
strQuery = "SELECT cs-username, r-host, Sum(add(cs-bytes,sc-bytes)) as SRdata into 'tempsum.w3c' FROM "&spath&" where sc-Network = 'External' group by cs-username,r-host order by SRdata DESC"
objLogParser.Executebatch strQuery, objInputFormat,w3cOutputFormat

'check tempsum.w3c existed
Set oFSO1 = CreateObject("Scripting.FileSystemObject")
If oFSO1.FileExists("./tempsum.w3c") Then
oFSO1 = nothing
else
oFSO1=nothing
wscript.echo "Sorry cannot find some of the log files to query! Script Quit."
wscript.quit
End If


'Generate report based on temp file.

'================================================================================
'Generate top web sites.
fl=0
oFile.writeline (BEGIN_TABLE & VbCrLf)
mWHeading topweb&" Websites"
mWBRow
mWTitle "Site Name"
mWTitle "Traffic (MB)"
mWERow

set objLogParser10 = CreateObject("MSUtil.LogQuery")
Set objInputFormat10 = _
CreateObject("MSUtil.LogQuery.W3CInputFormat")
'objInputFormat.recurse = 2

strQuery10 = "SELECT "&topweb&" r-host, sum(SRdata) as TSRData FROM 'tempsum.w3c' group by r-host order by TSRdata DESC"
Set objRecordSet10 = objLogParser10.Execute(strQuery10, objInputFormat10)
Do While Not objRecordSet10.AtEnd
Set objRecord10 = objRecordSet10.GetRecord

if fl = 0 then

mWBRow
mWDetail2 objRecord10.GetValue("r-host")
mwDetail2 FormatNumber(objRecord10.GetValue("TSRdata")/1048576,2)
mWERow
fl=1
else
mWBRow
mWDetail1 objRecord10.GetValue("r-host")
mwDetail1 FormatNumber(objRecord10.GetValue("TSRdata")/1048576,2)
mWERow
fl=0
end if


'wscript.echo "uri"& objRecord2.GetValue("r-host") & "---" & objRecord2.GetValue("SRdata")

objRecordSet10.MoveNext
Loop
spacer(12)
oFile.writeline (END_TABLE & VbCrLf)

'================================================================================

'================================================================================
'Generate top user list.
fl=0
oFile.writeline (BEGIN_TABLE & VbCrLf)
mWHeading topuser&" Users list"
mWBRow
mWTitle "logon Name"
mWTitle "Traffic (MB)"
mWERow

set objLogParser11 = CreateObject("MSUtil.LogQuery")
Set objInputFormat11 = _
CreateObject("MSUtil.LogQuery.W3CInputFormat")
'objInputFormat.recurse = 2

strQuery11 = "SELECT "&topuser&" cs-username, Sum(SRdata) as TSRdata FROM 'tempsum.w3c' group by cs-username order by TSRdata DESC"
Set objRecordSet11 = objLogParser11.Execute(strQuery11, objInputFormat11)
Do While Not objRecordSet11.AtEnd
Set objRecord11 = objRecordSet11.GetRecord

if fl=0 then
mWBRow
mWDetail2 objRecord11.GetValue("cs-username")
mwDetail2 FormatNumber(objRecord11.GetValue("TSRdata")/1048576,2)
mWERow
fl =1
else
mWBRow
mWDetail1 objRecord11.GetValue("cs-username")
mwDetail1 FormatNumber(objRecord11.GetValue("TSRdata")/1048576,2)
mWERow
fl =0
end if
'wscript.echo "uri"& objRecord2.GetValue("r-host") & "---" & objRecord2.GetValue("SRdata")

objRecordSet11.MoveNext
Loop
spacer(12)
oFile.writeline (END_TABLE & VbCrLf)

'================================================================================


set objLogParser1 = CreateObject("MSUtil.LogQuery")
Set objInputFormat1 = _
CreateObject("MSUtil.LogQuery.W3CInputFormat")

strQuery1 = "SELECT "&usertop&" cs-username, Sum(SRdata) as TSRdata FROM 'tempsum.w3c' group by cs-username order by TSRdata DESC"

Set objRecordSet1 = objLogParser1.Execute(strQuery1, objInputFormat1)
oFile.writeline (BEGIN_TABLE & VbCrLf)
mWHeading usertop&" Users' Web Traffic "

Do While Not objRecordSet1.AtEnd
Set objRecord1 = objRecordSet1.GetRecord
strUsername = objRecord1.GetValue("cs-username")
stt = "'"&strUsername&"'"


mWBRow
mWTitle strUsername &" ------ Total Web Traffic: " & FormatNumber(objRecord1.GetValue("TSRdata")/1048576,2)&" MB"
mWTitle "Traffic (MB)"
mWERow

'Wscript.echo ""
'wscript.echo stt data: " & objRecord1.GetValue("TSRdata")

set objLogParser2 = CreateObject("MSUtil.LogQuery")
Set objInputFormat2 = _
CreateObject("MSUtil.LogQuery.W3CInputFormat")
'objInputFormat.recurse = 2
fl=0
strQuery2 = "SELECT "&usertopweb&" r-host, SRdata FROM 'tempsum.w3c' where cs-username =" &stt&" group by r-host,SRdata"
Set objRecordSet2 = objLogParser2.Execute(strQuery2, objInputFormat2)
Do While Not objRecordSet2.AtEnd
Set objRecord2 = objRecordSet2.GetRecord
if fl=0 then
mWBRow
mWDetail2 objRecord2.GetValue("r-host")
mwDetail2 FormatNumber(objRecord2.GetValue("SRdata")/1048576,2)

mWERow
fl=1
else
mWBRow
mWDetail1 objRecord2.GetValue("r-host")
mwDetail1 FormatNumber(objRecord2.GetValue("SRdata")/1048576,2)

mWERow
fl=0
end if

'wscript.echo "uri"& objRecord2.GetValue("r-host") & "---" & objRecord2.GetValue("SRdata")

objRecordSet2.MoveNext
Loop
objRecordSet1.MoveNext
spacer(12)

Loop

oFile.writeline (END_TABLE & VbCrLf)

' Write the html end to report.
oFile.WriteLine (" /body ")
oFile.WriteLine (" /html ")
oFile.Close


'Methods to create html(title and table) part
'=================================================================================================================
Private Sub mWHeading(sHeading)
oFile.writeline ( _
" tr " & vbCrLf & _
" td colspan=7 bgcolor=#0099cc " & sHeading /td "& vbCrLf & _
" /tr " & VbCrLf)

End Sub

Private Sub mWTitle(sContent)

oFile.writeline ( _
" TD bgcolor=#0099ff align=left " & sContent /TD " & VbCrLf)
End Sub

Private Sub mWDetail1(sContent)
oFile.writeline ( _
" TD bgcolor=#dce3fc align=left " & sContent /TD " & VbCrLf)
End Sub

Private Sub mWDetail2(sContent)
oFile.writeline ( _
" TD bgcolor=#e9fbfe align=left " & sContent /TD " & VbCrLf)
End Sub

Private Sub mWAlert1(sContent)
oFile.writeline ( _
" TD bgcolor=#dce3fc align=left " & sContent /TD " & VbCrLf)
End Sub

Private Sub mWAlert2(sContent)
oFile.writeline ( _
" TD bgcolor=#e9fbfe align=left " & sContent /TD " & VbCrLf)
End Sub

Private Sub mWBRow
oFile.writeline ( " tr " & VbCrLf)
End Sub

Private Sub mWERow
oFile.writeline ( " /tr " & VbCrLf)
End Sub
Private Sub spacer(iHeight)

oFile.writeline ( _
" tr td height=" & iHeight /td /tr " & VbCrLf)

End Sub

'=================================================================================================================
'End of create html method


'Send email


Dim iMsg, iConf, Flds

'// Create the CDO connections.
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields

'// SMTP server configuration.
With Flds
.Item(cdoSendUsingMethod) = cdoSendUsingPort

'// Set the SMTP server address here.
.Item(cdoSMTPServer) = sSMTPServer
.Update
End With

'// Set the message properties.
With iMsg
Set .Configuration = iConf
.To = sMailTo
.From = sMailFrom
.Subject = sMailSub
.TextBody = strMessage
End With

'iMsg.HTMLBody = sMailMessage
'// Send the message.


iMsg.AddAttachment satt

iMsg.Send ' send the message.
Set iMsg = Nothing
Set iConf = Nothing


html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区二区久久久久久久| 亚洲欧美制服中文字幕| 最近中文字幕mv在线一区二区三区四区| 国产亚洲成av人片在线观看桃| 日韩免费在线观看视频| 黑人巨大精品欧美一区二区三区| 2019日本中文字幕| 国产视频福利一区| 久久综合久久美利坚合众国| 亚洲视频欧洲视频| 精品国产乱码久久久久久天美| 久久久精品免费视频| 欧美视频中文字幕在线| 欧美视频在线看| 精品国产福利视频| 6080yy精品一区二区三区| 国产美女久久久| 精品久久久999| 欧美精品videos性欧美| 欧洲中文字幕国产精品| 97在线免费观看| 久久视频在线直播| 日韩精品极品视频免费观看| 成人av.网址在线网站| 国产精品美女在线| 久久视频在线免费观看| 久久久久久久久91| 精品国产乱码久久久久酒店| 亚洲一区二区三区在线免费观看| 日韩综合视频在线观看| 日韩va亚洲va欧洲va国产| 青青草99啪国产免费| 中文字幕一区日韩电影| 久久久精品久久久久| 亚洲一级免费视频| 中文亚洲视频在线| 日韩视频免费大全中文字幕| 中文字幕亚洲天堂| 国产成人精品久久二区二区91| 国产成人黄色av| 日韩中文字幕免费看| 一区二区三区无码高清视频| 成人黄色影片在线| 国产不卡av在线免费观看| 91欧美精品午夜性色福利在线| 俺去亚洲欧洲欧美日韩| 久久av中文字幕| 成人欧美一区二区三区黑人孕妇| 亚洲精品久久久久国产| 亚洲国产精品大全| 热久久99这里有精品| 欧美激情亚洲国产| 精品丝袜一区二区三区| 国产精品久久999| 国产欧美一区二区三区久久| 欧美视频第一页| 亚洲激情视频在线播放| 久久国产精品久久久久久| 91在线视频九色| 国产精品日韩在线| 久久电影一区二区| 欧美日韩亚洲一区二区| 日韩一区二区三区国产| 日本久久久久久久久| 亚洲一区二区免费| 亚洲一区中文字幕| 九九热视频这里只有精品| 久久69精品久久久久久国产越南| 色av中文字幕一区| 欧美日韩国产色视频| 欧美日韩国产一区二区| 国产精品专区第二| 亚洲国产日韩欧美在线图片| 久久国产精品免费视频| 精品视频久久久| 成人福利在线观看| 91国自产精品中文字幕亚洲| 美女性感视频久久久| 亚洲一区二区三区毛片| 中文国产成人精品久久一| 欧美黑人一级爽快片淫片高清| 欧美天天综合色影久久精品| 欧美亚州一区二区三区| 日本久久亚洲电影| 国产精品久久久久高潮| 亚洲免费成人av电影| 亚洲国产精彩中文乱码av| 亚洲美女喷白浆| 欧美日韩亚洲天堂| 日韩精品一区二区三区第95| 欧洲成人在线观看| 俺去了亚洲欧美日韩| 亚洲综合社区网| 色偷偷综合社区| 亚洲精品国产精品国自产观看浪潮| 欧美激情视频在线观看| 91九色国产社区在线观看| 2018日韩中文字幕| 亚洲剧情一区二区| 国产精品青草久久久久福利99| www.日韩系列| 麻豆精品精华液| 18一19gay欧美视频网站| 日韩在线观看免费网站| 一区国产精品视频| 久久久久中文字幕2018| 欧美亚洲在线观看| 国产精品成人av在线| 国产成人亚洲综合91精品| 亚洲精品视频网上网址在线观看| 4438全国亚洲精品在线观看视频| 91色视频在线导航| 欧美精品福利在线| 久久成人这里只有精品| 亚洲a在线观看| 亚洲国产精品va在线看黑人动漫| 欧美性少妇18aaaa视频| 青青a在线精品免费观看| 国产亚洲精品久久久| 91国语精品自产拍在线观看性色| 日本久久久久久久久久久| 91chinesevideo永久地址| 91探花福利精品国产自产在线| 亚洲毛茸茸少妇高潮呻吟| 国产在线观看精品| 色悠久久久久综合先锋影音下载| 日韩精品在线电影| 日本久久久久久| 欧美在线观看视频| 精品五月天久久| 日韩高清a**址| 国产一区二区丝袜高跟鞋图片| 国产亚洲一区二区精品| 77777亚洲午夜久久多人| 日韩高清电影好看的电视剧电影| 国产日韩av在线播放| 久久成年人免费电影| 欧美成人三级视频网站| 国产日产欧美精品| 久久精品久久久久| 国产精品丝袜久久久久久高清| 91精品国产91久久久久久不卡| 欧美有码在线观看视频| 成人网在线免费看| 欧美人在线视频| 欧美日韩福利电影| 国产精欧美一区二区三区| 成人久久久久爱| 久久精品视频在线| 91精品视频免费| 久久久久久国产精品三级玉女聊斋| 欧美大片在线影院| 韩曰欧美视频免费观看| 伊人伊成久久人综合网小说| 国产精品久久久久aaaa九色| 亚洲女人天堂色在线7777| 日韩欧美大尺度| 欧美丝袜一区二区三区| 国产精品一区二区三区久久| 国产精品入口福利| 亚洲激情免费观看| 97香蕉超级碰碰久久免费的优势| 国产亚洲精品久久久久久牛牛| 国产精品扒开腿做爽爽爽男男|