2016-04-30 4 views
1

Мой сайт имеет doAppInitAfterRestart, установленный на true и работает, но я хотел бы знать, когда приложение завершило его инициализацию.Powershell для получения статуса инициализации приложения IIS

Есть ли способ через powershell и WMI знать, когда инициализация приложения сайта завершена?

ответ

0

Попробуйте приведенный ниже код сценария VB. Я очистил этот код от одного из моих рабочих сценариев, если вы видите какую-либо ошибку, запишите комментарий.

iis_con= "localhost" 
set WMI_IIS = GetObject("IIS://" & iis_con & "/W3SVC") 
     if WMI_IIS.count = 0 then 
     ' do nothing 
     else 
      for each objitem in WMI_IIS 
       if objitem.class = "IIsWebServer" then 
        Select Case objItem.serverstate 
         Case 1:  wscript.echo("Starting") 
         Case 2:  wscript.echo("Running") 
         Case 3:  wscript.echo("Stopping") 
         Case 4:  wscript.echo("Stopped") 
         Case 5:  wscript.echo("Pausing") 
         Case 6:  wscript.echo("Paused") 
         Case 7:  wscript.echo("Continuing") 
         Case Default: wscript.echo("Unknown") 
        End Select 
       Next 
end if 
+0

Спасибо за помощь @Amit. Не совсем то, что я ищу. Сразу после запуска сайта (менее секунды) этот код запускается и продолжает возвращать состояние «2». Вот код, преобразованный в powershell, который я использовал для тестирования. в то время как ($ правда) {$ сайт = Get-WmiObject -namespace "корень \ MicrosoftIISv2" -класса "IIsWebServer" -ComputerName локальный -Filter "имя = 'w3svc/4'" $ site.serverstate старт-сон - Миллисекунды 10 } – lovedatsnow

+0

Я не знал, что вы используете IIS6 +, поэтому не предоставляли WMI. Так вы столкнулись с какой-либо проблемой сейчас? Я не совсем понял из вашего комментария. –

+0

Да, я использую IIS6 +. У меня все еще возникают проблемы с установкой завершения инициализации приложения. – lovedatsnow