2016-04-30 18 views
1

Meine Website hat doAppInitAfterRestart auf true festgelegt und funktioniert, aber ich würde gerne wissen, wenn die Anwendung die Initialisierung abgeschlossen hat.Powershell IIS-Anwendungsinitialisierungsstatus

Gibt es einen Weg durch powershell und WMI, um zu wissen, wann die Anwendungsinitialisierung der Site abgeschlossen ist?

Antwort

0

Versuchen Sie unten erwähnten VB-Skript-Code. Ich habe diesen Code von einem meiner Arbeitsskripte gekratzt, wenn Sie irgendeinen Fehler sehen, schießen Sie einen Kommentar.

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

Danke für die Hilfe @Amit. Tut nicht ganz das, wonach ich suche. Unmittelbar nach dem Start der Site (weniger als eine Sekunde) beginnt dieser Code und gibt weiterhin den Status "2" Running zurück. Hier ist der Code in Powershell umgewandelt, mit dem ich getestet habe. while ($ true) { $ site = get-wmiobject -namespace "root \ MicrosoftIISv2" -Klasse "IIsWebServer" -ComputerName localhost -Filter "name = 'w3svc/4'" $ sites.serverstate start-sleep - Milliseconds 10 } – lovedatsnow

+0

Ich war mir nicht bewusst, dass Sie IIS6 + verwendeten, also WMI nicht bereitgestellt. Hast du jetzt ein Problem? Ich habe aus deinem Kommentar nicht ganz verstanden. –

+0

Ja, ich verwende IIS6 +. Ich habe immer noch Probleme festzustellen, wenn die App-Initialisierung abgeschlossen ist. – lovedatsnow