Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Run file

Posted on 2008-11-01
5
Medium Priority
?
285 Views
Last Modified: 2010-04-24
vbs code that do the following.

1. check whether any data is received by lan /network or not
2. if not data received for last 10 mintues, terminate specified process.
3. run specified program
4. loop repeats after every 15 minutes.
0
Comment
Question by:ankur3020
  • 3
4 Comments
 
LVL 32

Accepted Solution

by:
Robberbaron (robr) earned 2000 total points
ID: 22875644
schedule this script to run every 15min

save file as checker.vbs or similar

Wscript.Timeout = 650  'seconds
 
Wscript.Echo "Script Start"
 
'get traffic in 10min
GetTraffic "localhost", bytesStart
Wscript.Sleep 600000   '10 minutes=600000 millisecs
GetTraffic "localhost", bytesEnd
 
If bytesEnd = bytesStart Then
  'no traffic
  KillProcess  "MyAppName"
  'start application
  
  Set WshShell = WScript.CreateObject("WScript.Shell")
  WshShell.Run "MyNextApp.exe"
 
End if
 
WScript.quit
 
Sub KillProcess(strComputername,processName)
	strComputer = strComputername  '"."
	Set objWMIService = GetObject("winmgmts:" _
	    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
	Set colProcessList = objWMIService.ExecQuery _
	    ("SELECT * FROM Win32_Process WHERE Name = '" & processName & "'")
	For Each objProcess in colProcessList
	    objProcess.Terminate()
	Next
End Sub
 
Sub GetTraffic(strComputername,bytesTotal)
  'List the network interfaces on the computer. These can be used to find the packets and network traffic
  Dim oSvc
  set oSvc = GetObject("winmgmts:\\" & strComputername & "\root\cimv2")
  wqlQuery = "Select * from Win32_PerfRawData_Tcpip_NetworkInterface"
  bytesTotal=0
  for each oData in oSvc.ExecQuery(wqlQuery)
    
    for each oProperty in oData.Properties_
 
      if oProperty.Name = "BytesReceivedPersec" then
        
        bytesTotal = oProperty.Value
 
      end if      
    next
  next
 
End Sub

Open in new window

0
 

Author Comment

by:ankur3020
ID: 22876818
i ran the code and found one error. plsrectify it. the code i used is attached for ur ref.
i got error in line 12, killprocess,  error is invalid property /argument.
 pls tell me what is meaning of timeout, and for how long script will run.

i have replaced the process name with my actual process. one thing i want to know that r u comparing value or data received at different times or data sent.
Wscript.Timeout = 650  'seconds
 
Wscript.Echo "Script Start"
 
'get traffic in 10min
GetTraffic "localhost", bytesStart
Wscript.Sleep 600   '10 minutes=600000 millisecs
GetTraffic "localhost", bytesEnd
 
If bytesEnd = bytesStart Then
  'no traffic
  KillProcess  "BBClient.exe"
  
  'start application
  
  Set WshShell = WScript.CreateObject("WScript.Shell")
  WshShell.Run "BBClient.exe"
 
End if
 
WScript.quit
 
Sub KillProcess(strComputername,processName)
	strComputer = strComputername  '"."
	Set objWMIService = GetObject("winmgmts:" _
	    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
	Set colProcessList = objWMIService.ExecQuery _
	    ("SELECT * FROM Win32_Process WHERE Name = '" & processName & "'")
	For Each objProcess in colProcessList
	    objProcess.Terminate()
	Next
End Sub
 
Sub GetTraffic(strComputername,bytesTotal)
  'List the network interfaces on the computer. These can be used to find the packets and network traffic
  Dim oSvc
  set oSvc = GetObject("winmgmts:\\" & strComputername & "\root\cimv2")
  wqlQuery = "Select * from Win32_PerfRawData_Tcpip_NetworkInterface"
  bytesTotal=0
  for each oData in oSvc.ExecQuery(wqlQuery)
    
    for Each oProperty in oData.Properties_
 
      if oProperty.Name = "BytesReceivedPersec" then
        
        bytesTotal = oProperty.Value
 
      end if      
    next
  next
 
End Sub

Open in new window

0
 

Author Comment

by:ankur3020
ID: 22877989
i made the required changes and it is working fine now.thanks
0
 

Author Closing Comment

by:ankur3020
ID: 31512445
thks
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Question has a verified solution.

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

Script to copy or move mouse-selected collection of files plus targets referenced by shortcuts (.lnk) The purpose of this article is to help illuminate the real challenges and options available (where they may exist) for utilizing simple scriptin…
This is pretty cool.  The purpose of this VB Script is to help you document where JAR (Java ARchive) files and specifically java class files are located so that you can address issues seen with a client or that you can speak intelligently with a dev…
Screencast - Getting to Know the Pipeline
Whether it be Exchange Server Crash Issues, Dirty Shutdown Errors or Failed to mount error, Stellar Phoenix Mailbox Exchange Recovery has always got your back. With the help of its easy to understand user interface and 3 simple steps recovery proced…

876 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