DEDa77
26-09-2007, 10:08
В кратце, объясню задачу :
У меня на сервере (Win NT), постоянно работает приложение (автоматические обработчики), и с переодичностью в несколько дней падает (абсолютно "втихую")...
Я вешаю в "Планировщике задач" запуск такого скрипта :
'___________________________________________________________________________________________
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'prilogenie.exe'")
If colProcesses.Count = 0 Then
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")
objProcess.Create "C:\prilogenie.exe", NULL, NULL, intProcessID
DIM Wsh
Set Wsh = WScript.CreateObject("WScript.Shell")
WScript.Sleep(3000)
Wsh.SendKeys("parol")
'Wsh.SendKeys"{enter}"
Set Wsh = nothing
WScript.Quit
End If
'___________________________________________________________________________________________
Если я подключен и работаю на рабочем столе сервера, то ВСЁ отлично (выводится окно ввода пароля, вводится "parol" и жмётся "ОК" автоматически), но если я отключаюсь (не через LOGOF), то окно выводится но (видимо т.к. оно не становится активным) "parol" не вводится....
И вот вопрос (УВАЖАЕМЫЕ ЗНАТОКИ): КАК мне отслеживать отсутствие поцесса и запускать приложения ?!!!
P.S.: подойдут даже самые сумасшедшие решения, либо просто "мозговой штурм"
У меня на сервере (Win NT), постоянно работает приложение (автоматические обработчики), и с переодичностью в несколько дней падает (абсолютно "втихую")...
Я вешаю в "Планировщике задач" запуск такого скрипта :
'___________________________________________________________________________________________
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'prilogenie.exe'")
If colProcesses.Count = 0 Then
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")
objProcess.Create "C:\prilogenie.exe", NULL, NULL, intProcessID
DIM Wsh
Set Wsh = WScript.CreateObject("WScript.Shell")
WScript.Sleep(3000)
Wsh.SendKeys("parol")
'Wsh.SendKeys"{enter}"
Set Wsh = nothing
WScript.Quit
End If
'___________________________________________________________________________________________
Если я подключен и работаю на рабочем столе сервера, то ВСЁ отлично (выводится окно ввода пароля, вводится "parol" и жмётся "ОК" автоматически), но если я отключаюсь (не через LOGOF), то окно выводится но (видимо т.к. оно не становится активным) "parol" не вводится....
И вот вопрос (УВАЖАЕМЫЕ ЗНАТОКИ): КАК мне отслеживать отсутствие поцесса и запускать приложения ?!!!
P.S.: подойдут даже самые сумасшедшие решения, либо просто "мозговой штурм"