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

首頁 > 編程 > VBScript > 正文

vbscript logparser的ISA2004 Web流量報告

2020-06-26 18:19:14
字體:
來源:轉載
供稿:網友
由于ISA2004自帶的report不能滿足他們的要求,所以我寫了這個腳本,用來生成報告。使用前請先閱讀readme.txt
 
很喜歡這里的學習氣氛,也很佩服兩位版主的技術水平,希望能夠在這里與大家多多交流。 
作為見面禮吧,把前一陣子寫的一個生成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 class=head>" & sHeading &"</td>"& vbCrLf & _ 
" </tr>" & VbCrLf) 

End Sub 

Private Sub mWTitle(sContent) 

            oFile.writeline ( _ 
" <TD bgcolor=#0099ff align=left class=category height=14>" & sContent & "</TD>" & VbCrLf) 
End Sub 

Private Sub mWDetail1(sContent) 
            oFile.writeline ( _ 
" <TD bgcolor=#dce3fc align=left class=result height=12>" & sContent & "</TD>" & VbCrLf) 
End Sub 

Private Sub mWDetail2(sContent) 
            oFile.writeline ( _ 
" <TD bgcolor=#e9fbfe align=left class=result height=12>" & sContent & "</TD>" & VbCrLf) 
End Sub 

Private Sub mWAlert1(sContent) 
oFile.writeline ( _ 
" <TD bgcolor=#dce3fc align=left class=alert height=12>" & sContent & "</TD>" & VbCrLf) 
End Sub 

Private Sub mWAlert2(sContent) 
oFile.writeline ( _ 
" <TD bgcolor=#e9fbfe align=left class=alert height=12>" & 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 

 
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产suv精品一区二区| 午夜精品福利在线观看| 国产精品欧美在线| 午夜精品在线观看| 亚洲色图日韩av| 欧洲成人午夜免费大片| 91精品久久久久| 欧美成人四级hd版| 国产精品久久久久久av下载红粉| 欧美性xxxx极品高清hd直播| 国产一区二区三区三区在线观看| 久久99久久99精品免观看粉嫩| 日韩精品免费一线在线观看| 精品亚洲一区二区| 欧美精品一二区| 亚洲欧美另类人妖| 国产福利成人在线| 亚洲精品国产电影| 91黑丝在线观看| 国产精品美女www爽爽爽视频| 欧美xxxx综合视频| www.亚洲天堂| 毛片精品免费在线观看| 亚洲jizzjizz日本少妇| 中文字幕最新精品| 欧美与欧洲交xxxx免费观看| 在线免费观看羞羞视频一区二区| 日本精品一区二区三区在线播放视频| 亚洲无av在线中文字幕| 久久777国产线看观看精品| 国产高清视频一区三区| 91亚洲国产成人精品性色| 国产精品视频一区二区高潮| 国产精品久久综合av爱欲tv| 欧美插天视频在线播放| 97在线视频免费| 国产精品国内视频| 久久久国产一区| 日韩欧美在线视频免费观看| 亚洲国产又黄又爽女人高潮的| 亚洲精品动漫久久久久| 日本aⅴ大伊香蕉精品视频| 一区二区欧美日韩视频| 国产成人+综合亚洲+天堂| 丁香五六月婷婷久久激情| 久久精品这里热有精品| 久久精品成人动漫| 成人看片人aa| 亚洲精品电影在线观看| 亚洲国产私拍精品国模在线观看| 91精品久久久久久久久久入口| 亚洲电影免费观看高清完整版| 日韩电影在线观看永久视频免费网站| 97激碰免费视频| 久久99青青精品免费观看| 欧美日韩免费网站| 国产丝袜一区二区三区免费视频| 伊人久久男人天堂| 久久免费视频在线| 日本久久久久久久久| 精品久久中文字幕| 欧美日韩在线观看视频小说| 欧美精品18videos性欧| 亚洲精品色婷婷福利天堂| 亚洲视频网站在线观看| 日韩中文字幕精品视频| 自拍偷拍免费精品| 欧美日韩国产限制| 在线观看成人黄色| 中文精品99久久国产香蕉| 亚洲成人a级网| 在线观看欧美成人| 欧美一区二粉嫩精品国产一线天| 91成人福利在线| 中文字幕日本精品| 岛国av午夜精品| 伊人伊人伊人久久| 国产精品成人观看视频国产奇米| 国产啪精品视频网站| 国产精品扒开腿爽爽爽视频| 国产精品成人va在线观看| 亚洲国产高清高潮精品美女| 国产999在线| 不卡av电影院| 亚洲 日韩 国产第一| 久久中文字幕国产| 国产视频精品免费播放| 欧美精品videosex牲欧美| 国产一区av在线| 欧美夫妻性生活视频| 日韩在线播放视频| 欧美日韩在线视频首页| 中文国产成人精品久久一| 欧美黄色片在线观看| 久久99精品视频一区97| 欧美精品一区在线播放| 亚洲乱码av中文一区二区| 欧美日韩另类字幕中文| 北条麻妃一区二区三区中文字幕| 久久99国产精品自在自在app| 亚洲天堂av图片| 最近2019年好看中文字幕视频| 日韩在线免费视频| 国模视频一区二区三区| 欧美亚洲在线观看| 国产亚洲福利一区| xvideos亚洲| 亚洲男人天堂手机在线| 亚洲在线www| 精品综合久久久久久97| 欧美性生交xxxxx久久久| 国产91色在线| 亚洲女同精品视频| 精品美女久久久久久免费| 色综久久综合桃花网| 久久亚洲欧美日韩精品专区| 欧美性xxxxx极品| 亚洲天堂色网站| 成人性教育视频在线观看| 亚洲美女性生活视频| 久久国产精彩视频| 亚洲国产精品999| 日本一区二区在线播放| 国产精品久久久久久亚洲调教| 精品久久在线播放| 日韩欧美在线一区| 亚洲精品福利视频| 国产精品露脸av在线| 日韩免费不卡av| 中文字幕久热精品视频在线| 久久久久久久影视| 欧美性xxxxxxx| 性色av一区二区三区红粉影视| 这里只有精品丝袜| 国产精品久久久av久久久| 国产精品国产三级国产aⅴ浪潮| 欧美激情网友自拍| 色七七影院综合| 亚洲欧美国产精品专区久久| 国模叶桐国产精品一区| www.日韩av.com| 欧美成人午夜影院| 亚洲欧洲美洲在线综合| 国内精品一区二区三区| 91美女片黄在线观| 国产最新精品视频| 91在线免费看网站| 亚洲色图综合网| 国产亚洲精品久久久久动| 国产在线拍偷自揄拍精品| 久久福利网址导航| 亚洲成人在线视频播放| 久久精品99久久久久久久久| 久久在精品线影院精品国产| 亚洲欧美制服中文字幕| 亚洲国产天堂久久国产91| 欧美国产日韩一区二区三区| 亚洲成人1234| 91精品国产高清| 国产午夜精品视频免费不卡69堂| 欧美福利视频在线| 91精品久久久久久久久久久| 日韩欧美中文字幕在线观看| 久久精品国产一区二区三区|