Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Контроль зависания программ2

Ответить
Настройки темы
PowerShell - Контроль зависания программ2

Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


привет! В старой теме нашел скрипт для перезапуска зависшего процесса...,
http://forum.oszone.net/nextoldesttothread-190606.html
Код: Выделить весь код
powershell if (-not (get-process KillTest).responding) { kill -name KillTest; $log=Get-Date; KillTest } if ($log) { Add-Content restart.log $log }
скажите пожалуйста как его прописать, чтобы он смотрел процесс с именем mailserver.exe и mctrl.exe и перезапускал в случае необходимости их... лежат в директории
C:\Program Files (x86)\Kerio\MailServer\mailserver.exe
C:\Program Files (x86)\Kerio\MailServer\mctrl.exe

Отправлено: 11:05, 16-11-2015

 

Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Код: Выделить весь код
'mailserver', 'mctrl' | % {
  <#
  enum {
    ...
    ssfPROGRAMFILESx86 = 0x30
  } ShellSpecialFolderConstants;
  #>
  $dir = (New-Object -ComObject Shell.Application).NameSpace(0x30).Self.Path
}{
  if (!(ps $_).Responding) {
    ii "$($dir)\$_.exe"
  }
}

Отправлено: 12:17, 16-11-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


спасибо - скрипт отрабатывает...но я даже не пойму правильно ли!?

в предыдущем я хоть понимал что и где - подставлял notepad, вешал его и проверял - отрабатывало) а тут темный лес для меня) или доделать бы, чтобы он эти екзешники запускал, если их нет в процессах

Если еще есть варианты попроще написания - пожалуйста напишите) как в первом посте - его бы допилить..плюс там лог ведется - тоже хорошая плюшка!

Последний раз редактировалось lenagan, 16-11-2015 в 13:51.


Отправлено: 13:23, 16-11-2015 | #3


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Куда уж проще?!
Код: Выделить весь код
'mailserver', 'mctrl' | % { # массив из вожделенных процессов
  $dir = (New-Object -ComObject Shell.Application).NameSpace(0x30).Self.Path # путь до ProgramFilesx86
}{
  if (!(ps $_).Responding) { # если процесс не отвечает...
    kill -Id $_.Id # ...убить процесс и...
    ii "$($dir)\$_.exe"  # ...запустить новую копию
  }
}

Отправлено: 14:21, 16-11-2015 | #4


Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


а лог нельзя добавить?) как в первои посте, чтоб хотя б в текстовый файл писал при зависании ?!))

Отправлено: 11:08, 17-11-2015 | #5


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Цитата lenagan:
а лог нельзя добавить?)
Ну так добавьте, что мешает?!

Отправлено: 16:03, 17-11-2015 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Контроль зависания программ2

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Безопасность - Родительский контроль TwoThrones Программное обеспечение Windows 0 08-11-2011 14:37
Удалённый контроль CloudStrife1991 Мобильные ОС, смартфоны и планшеты 1 09-09-2011 14:27
Система - [решено] Контроль зависания программ buran21 Программное обеспечение Windows 2 09-11-2010 01:20
Прочее - Контроль трафика gambini Сетевые технологии 6 14-05-2009 11:09




 
Переход