1

アプリケーション プールのステータスを取得したいと考えています。vbscript を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

バッチファイルを介して実行しようとしています

status1.vbs "DefaultAppPool"

しかし、私はこれで終わった

ここに画像の説明を入力

何かのサービスが開始されていませんか?vbスクリプトを直接実行してみました。引用符や同様のものなしで引数を渡そうとしました。私はスクリプトを書きませんが、今回はやらなければなりませんでした。

エラー ダイアログは 5 行目を示しますSet oWebAdmin = GetObject("winmgmts:root\WebAdministration")。私は過去5時間でできることはすべて試しました。既製のスクリプトがありますが、実行できません。恥ずかしくて、ずっとこの質問を投稿するつもりはありませんでした。でも結局負け。助けてくれてありがとう。

また、IIS 6 用の作業スクリプトもありPsExecます。リモート サーバーでこのスクリプトを呼び出しています。しかし、それは IIS 7 では機能しません。投稿してほしい人がいたら教えてください。また、現在 IIS 7 と Server 2008 R2 を使用してPsExecおり、リモート サーバーを使用してこのスクリプトを実行します。

4

1 に答える 1

5

役割サービスのIIS 管理スクリプトとツールがインストールされていません。Server Manager を起動し、Roles → Web Server (IIS)に移動して、不足しているサービスをインストールします。

于 2013-09-17T09:42:46.257 に答える