Potrebna pomoc - skripta za restart IE

Potrebna pomoc - skripta za restart IE

offline
  • Onsite IT Support Engineer
  • Pridružio: 08 Mar 2005
  • Poruke: 1148
  • Gde živiš: Niš

Zdravo drugari.
Ja nisam programer pa mi treba vasa pomoc. Dakle kao sto sam napisao u naslovu, potrebna mi je vbs skripta koja ce da gasi internet explorer i da ga pali da svaka 2 minuta. Da li bi mogao neko od vas da mi pomogne i napise mi skriptu?
Hvala unapred!



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • dr_Bora  Male
  • Anti Malware Fighter
    Rank 2
  • Pridružio: 24 Jul 2007
  • Poruke: 12280
  • Gde živiš: Höganäs, SE

Svrha?

Imaj na umu da će IE11 (a možda i starije verzije) da nude "Restore session" ako se proces nasilno gasi (a ako se ne gasi nasilno, onda nije sigurno da će da se ugasi; npr. ako su otvorena bar dva taba onda neće).


Const nRestartAfter = 120 <- 2 min, možeš da menjaš po želji, bitno da je u sekundama.

+ RestartIE.vbs

  1. Option Explicit
  2.  
  3. Dim Shell, FSO, nInitialTimerState, nLastTimerState
  4.  
  5. Set Shell = CreateObject("WScript.Shell")
  6. Set FSO = CreateObject("Scripting.FileSystemObject")
  7.  
  8. Const nRestartAfter = 120
  9. nInitialTimerState = Timer
  10. nLastTimerState = nInitialTimerState
  11.  
  12.  
  13. Sub Run(sFile, sAttr, nShowWindow, bWait)
  14.  
  15.   On Error Resume Next
  16.   Shell.Run Chr(34) & sFile & Chr(34) & sAttr, nShowWindow, bWait
  17.   On Error Goto 0
  18.  
  19. End Sub
  20.  
  21.  
  22. Sub CheckAndRestart
  23. Dim nCurrentTimerState, nTimeDiff
  24.  
  25.   WScript.Sleep(500)
  26.   nCurrentTimerState = Timer
  27.   If nCurrentTimerState < nLastTimerState Then nCurrentTimerState = nCurrentTimerState + 86400
  28.   nTimeDiff = nCurrentTimerState - nLastTimerState
  29.   If nTimeDiff < nRestartAfter Then Exit Sub
  30.   Run "taskkill", "/f /im iexplore.exe", 0, True
  31.   Run Shell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Internet Explorer\iexplore.exe", "", 1, False
  32.   nLastTimerState = nCurrentTimerState
  33.  
  34. End Sub
  35.  
  36.  
  37. Run "taskkill", "/f /im iexplore.exe", 0, True
  38. Run Shell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Internet Explorer\iexplore.exe", "", 1, False
  39.  
  40.  
  41. Do
  42.   CheckAndRestart
  43. Loop



offline
  • Onsite IT Support Engineer
  • Pridružio: 08 Mar 2005
  • Poruke: 1148
  • Gde živiš: Niš

Napisano: 16 Feb 2014 0:44

Internet Explorer mi je neophodan za prikazivanje odredjenog sadrzaja u real time-u. Ne znam bas kako da ti objasnim, ali potrebno mi je da su podaci koji se prikazuju uvek tacni. Web page uzima vrednosti sa PLC-a i ispisuje ih. Posle nekog vremena IE prestane da radi jednostavno i neophodno je da se ugasi i upali ponovo, a u home page sam stavio link koji koristim. Zato mi je potrebna skripta koja gasi IE i opet ga pali na odredjeno vreme.
Hvala puno za ovu skriptu. Isprobacu je i reci cu kakav je rezultat.

Dopuna: 26 Feb 2014 7:14

@dr_Bora

Ovo je super. Sljaka kao leptir. Jedino sto je problemcic je sto u Task Manager-u vlada ludilo Smile



Jel je moguce da se ubaci komanda za gasenje skripte?

offline
  • dr_Bora  Male
  • Anti Malware Fighter
    Rank 2
  • Pridružio: 24 Jul 2007
  • Poruke: 12280
  • Gde živiš: Höganäs, SE

Šta pokreće te procese i šta rade?


Hoćeš da se po gašenju iexplore.exe gasi i wscript.exe?

offline
  • Onsite IT Support Engineer
  • Pridružio: 08 Mar 2005
  • Poruke: 1148
  • Gde živiš: Niš

Pa da. Bilo bi super ako bi i to moglo.
Nemam pojma sta pokrece ovaj proces. Moguce nesto uz IE... Je ne sais pas. Smile

offline
  • dr_Bora  Male
  • Anti Malware Fighter
    Rank 2
  • Pridružio: 24 Jul 2007
  • Poruke: 12280
  • Gde živiš: Höganäs, SE

OK, ovo treba da sačuvaš kao RestartIE.vbs da bi radilo.

Prosto, wscript hostuje i samu ovu skriptu pa se ne može tek tako kill-ovati svaki proces, već se mora odraditi filtriranje po komandnoj liniji (zato je bitno ime skripte).

  1. Option Explicit
  2.  
  3. Dim Shell, FSO, nInitialTimerState, nLastTimerState, objWMIService, colProcesses, objProcess
  4.  
  5. Set Shell = CreateObject("WScript.Shell")
  6. Set FSO = CreateObject("Scripting.FileSystemObject")
  7.  
  8. Const nRestartAfter = 120
  9. nInitialTimerState = Timer
  10. nLastTimerState = nInitialTimerState
  11.  
  12.  
  13. Sub Run(sFile, sAttr, nShowWindow, bWait)
  14.  
  15.   On Error Resume Next
  16.   Shell.Run Chr(34) & sFile & Chr(34) & sAttr, nShowWindow, bWait
  17.   On Error Goto 0
  18.  
  19. End Sub
  20.  
  21.  
  22. Sub CheckAndRestart
  23.  
  24. Dim nCurrentTimerState, nTimeDiff
  25.  
  26.   WScript.Sleep(500)
  27.   nCurrentTimerState = Timer
  28.   If nCurrentTimerState < nLastTimerState Then nCurrentTimerState = nCurrentTimerState + 86400
  29.   nTimeDiff = nCurrentTimerState - nLastTimerState
  30.   If nTimeDiff < nRestartAfter Then Exit Sub
  31.   Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
  32.   For Each objProcess in colProcesses
  33.     If (LCase(objProcess.Name) = "iexplore.exe") Or (LCase(objProcess.Name) = "wscript.exe") And (InStr(1, objProcess.CommandLine, "restartie", vbTextCompare) = 0) Then
  34.       On Error Resume Next
  35.       objProcess.Terminate
  36.       On Error Goto 0
  37.     End If
  38.   Next
  39.   Run Shell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Internet Explorer\iexplore.exe", "", 1, False
  40.   nLastTimerState = nCurrentTimerState
  41.  
  42. End Sub
  43.  
  44.  
  45. Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
  46. Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
  47. For Each objProcess in colProcesses
  48.   If (LCase(objProcess.Name) = "iexplore.exe") Or (LCase(objProcess.Name) = "wscript.exe") And (InStr(1, objProcess.CommandLine, "restartie", vbTextCompare) = 0) Then
  49.     On Error Resume Next
  50.     objProcess.Terminate
  51.     On Error Goto 0
  52.   End If
  53. Next
  54.  
  55. Run Shell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Internet Explorer\iexplore.exe", "", 1, False
  56.  
  57. Do
  58.   CheckAndRestart
  59. Loop

offline
  • Onsite IT Support Engineer
  • Pridružio: 08 Mar 2005
  • Poruke: 1148
  • Gde živiš: Niš

Da li mogu da promenim ime file-a koji se startuje tako da ne pokrece ie.exe nego neku drugu vbs skriptu? Da li nece stvoriti probleme ako pokrecem drugu vbs skriptu umesto ie.exe?

offline
  • dr_Bora  Male
  • Anti Malware Fighter
    Rank 2
  • Pridružio: 24 Jul 2007
  • Poruke: 12280
  • Gde živiš: Höganäs, SE

Pa, ne znam sta tacno pokusavas da uradis, ali ne vidim sta bi moglo da bude problem.

offline
  • Onsite IT Support Engineer
  • Pridružio: 08 Mar 2005
  • Poruke: 1148
  • Gde živiš: Niš

Hvala puno na pomoci! Dobio sam sve sto sam pozeleo. Smile

O cemu se radi?
Koristim IE za prikazivanje nekog sadrzaja koji se konstantno menja. To su u glavnom neke slike. Imam skriptu da se IE refresh-uje na odredjeno vreme jer ako se ne refresh-uje desi se da zakuca i sliku ne prikazuje.
Posle nekog vremena primetio sam da ni refresh ne pomaze nego mora da se ugasi/upali da bi proradio. Zato mi je bila potrebna skripta koja ce to da radi. Skripta koja refresh-uje stranu je takodje vbs.
Verovatno bi cak mogla i da se doda u ovu skriptu, ali vise mi odgovara ovako jer kada poziva vbs skriptu za paljenje - ne trazi "Restore session".

Sta da kazem sem HVALA PUNO!!!! Dodjem pice!!!

Ko je trenutno na forumu
 

Ukupno su 951 korisnika na forumu :: 54 registrovanih, 3 sakrivenih i 894 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: _Rade, ALEKSICMILE, bojan581, Borkanović, Carl Gustaf, Chainsaw, DejanSt, Demi87, Desmond, Doca, Dogma21, DonRumataEstorski, g_g, gomago, goran.vvv, ILGromovnik, janezek67, Kobrim, koom0001, Koča, Kriglord, Kuroje, kybonacci, lafa008, Lazarus, lcc, Lieutenant, mainstream, Mercury, milenko crazy north, Milos ZA, mir juzni, mladen.zovko, mushroom, neko_drugi, nemkea71, oganj123, Papadubi, pfc74, pisac12, Prečanin30, PrincipL, Puch300GD, rovac, s0ne, Sava89, sekretar, starlights, Str2022, Teodorasim, tritonus, ulogovan, vidra1, Žrnov