Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Перезапуск службы и запись об этом в файл. (http://forum.oszone.net/showthread.php?t=222976)

egorkin 15-12-2011 13:50 1815775

Перезапуск службы и запись об этом в файл.
 
Доброго всем дня. С батниками никогда не работал, очень нужно сформировать такой обработчик. В фирме сеть из 10 пк, на каждом стоит Tmeter с ограничениями для выхода в интернет, суть проблемы что все сидят с правами администратора и любой может спокойно отключить службу Tmeter и спокойно покорять просторы инета. Имя службы Tmeter - TrafSvc. ОС на всех ПК стоит XP.
1. Возможно ли создание программы для перезапуска службы, если её отключит пользователь? что-то похоже читал здесь http://forum.oszone.net/thread-186707.html, но не смог разобраться...
2. И записать об этом запуске в некий файл.txt? Если такое трудоемко, то подскажите как реализовать 1 вопрос.
Заранее благодарен.

Iska 15-12-2011 14:26 1815800

Цитата:

Цитата egorkin
суть проблемы что все сидят с правами администратора »

Вы верно определили суть проблемы.

Цитата:

Цитата egorkin
Возможно ли создание программы для перезапуска службы, если её отключит пользователь? »

Возможно. Равно как для пользователя с административными правами возможно будет отключение этой гипотетической «программы».

Пока Вы не решите радикально вопрос с наличием административных прав у обычных пользователей, всё остальное будет — мёртвому припарки.

egorkin 15-12-2011 14:42 1815813

Iska, понимаете на всех ПК сидят женщины среднего приклонного возраста, что такое службы они толком не знают. И если даже они найдут службу Tmeter и отключат "нечаенно", тут мне и поможет такая программка перезапуска службы! Будьте добры подскажите модуль программки?
P.S. А запаролить её нельзя?

egorkin 15-12-2011 19:36 1816022

Добрые люди, хоть примерный код дайте... плиз...

egorkin 16-12-2011 11:28 1816384

Так нашел vbs скрипт для проверки и запуска процесса TrafSvc.exe

HTML код:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")

Set colProcesses = objWMIService.ExecQuery( _
    "Select Name From Win32_Process " _
    & "Where Name = 'TrafSvc.exe'")

If colProcesses.Count = 0 Then
  Set objShell = Wscript.CreateObject("Wscript.Shell")
  objShell.Run "TrafSvc.exe"
End If

только при остаовке службы Tmeter, процесс заново не заускается. Т.е. я понимаю надо еще отдельный скрипт для перезапуска самой слыжбы?

egorkin 16-12-2011 20:35 1816521

В общем нашел решение сам, спасибо форуму за "поддержку"
скрипт на vbs, надеюсь пригодится кому.

Код:

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("c:\temp\logsTrafSvc.txt", True)
While 1
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery("Select * from Win32_Service where Name='TrafSvc'")
For Each objService in colServiceList
objTextFile.WriteLine objService.State & Date () & "  " & Time ()
If objService.State = "Stopped" Then
objTextFile.WriteLine "Остановленна, запускаем... " & Date () & "  " & Time ()
        errReturn = objService.StartService()
End if
Next
Wscript.Sleep 18000 ' в милисекундах
Wend



Время: 18:26.

Время: 18:26.
© OSzone.net 2001-