Domanda

I want to get status of a Application Pool. I have vbscript taken from here.

strArgAppPool = Wscript.Arguments.Unnamed.Item(0)
Const noError = False

' Establish the connection to the WMI provider
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")

' Search the AppPool passed as argument in the list of application pools
Set oAppPool = oWebAdmin.Get("ApplicationPool.Name='" & strArgAppPool & "'")

' Create nice messages for pool states
Select Case oAppPool.GetState      

    Case 0            
        StateDescription = "STARTING"        
        outputStatus = "WARNING! "
        outputCode = 1
    Case 1            
        StateDescription = "STARTED"        
        outputStatus = "OK! "
        outputCode = 0
    Case 2            
        StateDescription = "STOPPING"
        outputStatus = "WARNING! "
        outputCode = 1
    Case 3            
        StateDescription = "STOPPED"        
        outputStatus = "CRITICAL!! "
        outputCode = 2
    Case 4            
        StateDescription = "UNKNOWN"        
        outputStatus = "UNKNOWN? "
        outputCode = 3
    Case Else   
        StateDescription = "UNDEFINED VALUE"    
        outputStatus = "UNKNOWN? "
        outputCode = 3

End Select

' Output
Wscript.Echo outputStatus & oAppPool.Name & ": " & StateDescription

' Error handling
If noError = true Then
    ' Error message
    Wscript.echo "UNKNOWN: Error during the WMI query for app pool " & strArgAppPool & " !"
    ' Exit & return code
    WScript.Quit(3)
Else
    ' Clean exit
    WScript.Quit(outputCode)
End If

Through a batch file I am trying to run it as

status1.vbs "DefaultAppPool"

But I ended up with this

enter image description here

Is it some service is not started? I have tried running the vb script directly. I have tried passing arguments without quotes and all similar stuff. I don't write scripts, but got to do it this time.

Error dialog indicates line 5, Set oWebAdmin = GetObject("winmgmts:root\WebAdministration"). I have tried everything I could in last 5 hours. I have a readymade script and I am not able to run it. Shame and was not willing post this question all this while. But lost in end. Thanks for any help.

Also I have a working script for IIS 6. I am calling this script through PsExec on a remote server. But that's not working in IIS 7. Let me know if anyone want me to post it. Also I am using IIS 7 and Server 2008 R2 now and will be running this script using PsExec on remote server.

È stato utile?

Soluzione

You don't have the role service IIS Management Scripts and Tools installed. Launch Server Manager, go to Roles → Web Server (IIS), and install the missing service.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top