Скрипт для проверки работы IIS или нет - PullRequest
1 голос
/ 12 января 2010

Я хотел бы написать скрипт для автоматического запуска сервера IIS, если он остановлен.

Ответы [ 4 ]

3 голосов
/ 12 января 2010

Вы можете использовать сценарии IIS Admin для запроса к серверу, а затем запустить его, если вам нужно.

Сценарий находится в %systemroot%\system32.

Чтобы запросить ваш сервер, просто запустите IIsWeb.vbs /query w3svc/1 из командной строки.

Если он не запущен, вы можете запустить IIsWeb.vbs /start w3svc/1, чтобы запустить его.

Вот статья с дополнительной информацией об этих сценариях.

1 голос
/ 12 января 2010

Одна простая вещь, которую вы можете сделать, если вы беспокоитесь о том, что IIS не перезапускается после сбоя, - это настроить ответы служб. Если вы зайдете в службы, а затем посмотрите на свойства для iis, вы увидите вкладку восстановления. Измените каждый из параметров сбоя, чтобы перезапустить службу. одна вещь, которую вы также можете сделать, это создать командный файл, который включает в себя IISReset и установите опцию для запуска программы, и это будет выбранная вами программа.

1 голос
/ 12 января 2010
  • вы можете найти w3wp.exe в списке процессов (если это IIS6)
  • вы всегда можете попробовать "iisreset / start" - я думаю, это работает, даже если IIS уже запущен
  • посмотрите на скрипты, предоставленные Microsoft в C:\Inetpub\AdminScripts (при условии установки по умолчанию), есть старты rv.vbs, startweb.vbs - оба хорошо справляются с работой
0 голосов
/ 09 ноября 2016

Нашёл код здесь: https://social.msdn.microsoft.com/Forums/en-US/5a01d88b-2b7c-4d0b-bce0-9b90a236b64a/how-to-check-if-iis-is-running?forum=asmxandxml

Пример:

Dim sc As New System.ServiceProcess.ServiceController("World Wide Web Publishing Service")

If sc.Status.Equals(System.ServiceProcess.ServiceControllerStatus.Stopped) Or sc.Status.Equals(System.ServiceProcess.ServiceControllerStatus.StopPending) Then
   ' Start the service if the current status is stopped.
   sc.Start()
Else
   ' Stop the service if its status is not set to "Stopped".
   sc.Stop()
End If
...