Poslao: 15 Feb 2014 01:34
|
offline
- Talični Tom

- Super građanin
- 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.
|
|
Poslao: 15 Feb 2014 19:35
|
offline
- dr_Bora

- 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- Option Explicit
-
- Dim Shell, FSO, nInitialTimerState, nLastTimerState
-
- Set Shell = CreateObject("WScript.Shell")
- Set FSO = CreateObject("Scripting.FileSystemObject")
-
- Const nRestartAfter = 120
- nInitialTimerState = Timer
- nLastTimerState = nInitialTimerState
-
-
- Sub Run(sFile, sAttr, nShowWindow, bWait)
-
- On Error Resume Next
- Shell.Run Chr(34) & sFile & Chr(34) & sAttr, nShowWindow, bWait
- On Error Goto 0
-
- End Sub
-
-
- Sub CheckAndRestart
- Dim nCurrentTimerState, nTimeDiff
-
- WScript.Sleep(500)
- nCurrentTimerState = Timer
- If nCurrentTimerState < nLastTimerState Then nCurrentTimerState = nCurrentTimerState + 86400
- nTimeDiff = nCurrentTimerState - nLastTimerState
- If nTimeDiff < nRestartAfter Then Exit Sub
- Run "taskkill", "/f /im iexplore.exe", 0, True
- Run Shell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Internet Explorer\iexplore.exe", "", 1, False
- nLastTimerState = nCurrentTimerState
-
- End Sub
-
-
- Run "taskkill", "/f /im iexplore.exe", 0, True
- Run Shell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Internet Explorer\iexplore.exe", "", 1, False
-
-
- Do
- CheckAndRestart
- Loop
|
|
|
|
|
Poslao: 26 Feb 2014 15:21
|
offline
- dr_Bora

- 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?
|
|
|
|
Poslao: 27 Feb 2014 06:43
|
offline
- Talični Tom

- Super građanin
- 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.
|
|
|
|
Poslao: 27 Feb 2014 20:41
|
offline
- dr_Bora

- 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).
- Option Explicit
-
- Dim Shell, FSO, nInitialTimerState, nLastTimerState, objWMIService, colProcesses, objProcess
-
- Set Shell = CreateObject("WScript.Shell")
- Set FSO = CreateObject("Scripting.FileSystemObject")
-
- Const nRestartAfter = 120
- nInitialTimerState = Timer
- nLastTimerState = nInitialTimerState
-
-
- Sub Run(sFile, sAttr, nShowWindow, bWait)
-
- On Error Resume Next
- Shell.Run Chr(34) & sFile & Chr(34) & sAttr, nShowWindow, bWait
- On Error Goto 0
-
- End Sub
-
-
- Sub CheckAndRestart
-
- Dim nCurrentTimerState, nTimeDiff
-
- WScript.Sleep(500)
- nCurrentTimerState = Timer
- If nCurrentTimerState < nLastTimerState Then nCurrentTimerState = nCurrentTimerState + 86400
- nTimeDiff = nCurrentTimerState - nLastTimerState
- If nTimeDiff < nRestartAfter Then Exit Sub
- Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
- For Each objProcess in colProcesses
- If (LCase(objProcess.Name) = "iexplore.exe") Or (LCase(objProcess.Name) = "wscript.exe") And (InStr(1, objProcess.CommandLine, "restartie", vbTextCompare) = 0) Then
- On Error Resume Next
- objProcess.Terminate
- On Error Goto 0
- End If
- Next
- Run Shell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Internet Explorer\iexplore.exe", "", 1, False
- nLastTimerState = nCurrentTimerState
-
- End Sub
-
-
- Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
- Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
- For Each objProcess in colProcesses
- If (LCase(objProcess.Name) = "iexplore.exe") Or (LCase(objProcess.Name) = "wscript.exe") And (InStr(1, objProcess.CommandLine, "restartie", vbTextCompare) = 0) Then
- On Error Resume Next
- objProcess.Terminate
- On Error Goto 0
- End If
- Next
-
- Run Shell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Internet Explorer\iexplore.exe", "", 1, False
-
- Do
- CheckAndRestart
- Loop
|
|
|
|
Poslao: 28 Feb 2014 07:22
|
offline
- Talični Tom

- Super građanin
- 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?
|
|
|
|
Poslao: 28 Feb 2014 11:25
|
offline
- dr_Bora

- 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.
|
|
|
|
Poslao: 01 Mar 2014 09:48
|
offline
- Talični Tom

- Super građanin
- Onsite IT Support Engineer
- Pridružio: 08 Mar 2005
- Poruke: 1148
- Gde živiš: Niš
|
Hvala puno na pomoci! Dobio sam sve sto sam pozeleo.
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!!!
|
|
|
|